diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2012-10-02 16:29:31 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2012-10-02 16:29:31 +0100 |
commit | c99f30542e7c1aae328c199458fb03be513900d1 (patch) | |
tree | 35399aeade16ba2a003bb2642525073d2dc4c6c9 /testsuite/tests/gadt | |
parent | 2bf8943d0fca2c1de8a68f31c76f33fe11ae1154 (diff) | |
download | haskell-c99f30542e7c1aae328c199458fb03be513900d1.tar.gz |
Test Trac #7205
Diffstat (limited to 'testsuite/tests/gadt')
-rw-r--r-- | testsuite/tests/gadt/T7205.hs | 15 | ||||
-rw-r--r-- | testsuite/tests/gadt/all.T | 3 |
2 files changed, 17 insertions, 1 deletions
diff --git a/testsuite/tests/gadt/T7205.hs b/testsuite/tests/gadt/T7205.hs new file mode 100644 index 0000000000..e8c555972f --- /dev/null +++ b/testsuite/tests/gadt/T7205.hs @@ -0,0 +1,15 @@ +{-# LANGUAGE GADTs, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts #-} +module T7205 where + +data Abs env g v where + Abs :: g (a, env) h v -> Abs env (g (a, env) h v) (a -> v) + +class Eval g env h v where + eval :: env -> g env h v -> v + +evalAbs :: Eval g2 (a2, env) h2 v2 + => env + -> Abs env (g2 (a2, env) h2 v2) (a2->v2) + -> (a2->v2) +evalAbs env (Abs e) x + = eval (x, env) e -- e :: g (a,env) h v diff --git a/testsuite/tests/gadt/all.T b/testsuite/tests/gadt/all.T index 2d1f00f5a0..ac560219a5 100644 --- a/testsuite/tests/gadt/all.T +++ b/testsuite/tests/gadt/all.T @@ -112,4 +112,5 @@ test('T5424', multimod_compile, ['T5424', '-v0 -O0']) -test('FloatEq', normal, compile, [''])
\ No newline at end of file +test('FloatEq', normal, compile, ['']) +test('T7205', normal, compile, ['']) |