summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ghc/tests/rename/should_fail/rnfail018.hs15
-rw-r--r--ghc/tests/rename/should_fail/rnfail018.stderr15
2 files changed, 30 insertions, 0 deletions
diff --git a/ghc/tests/rename/should_fail/rnfail018.hs b/ghc/tests/rename/should_fail/rnfail018.hs
new file mode 100644
index 0000000000..223751c01b
--- /dev/null
+++ b/ghc/tests/rename/should_fail/rnfail018.hs
@@ -0,0 +1,15 @@
+{-# OPTIONS -fglasgow-exts #-}
+
+module ShouldFail where
+
+-- !!! For-all with parens
+
+-- This one crashed ghc-4.04proto; the parens after the for-all fooled it
+
+class Monad m => StateMonad s m where
+ getState :: m s
+
+setState0 :: forall b. (StateMonad (a,b) m => m a)
+setState0 = getState >>= \ (l,_r) -> return l
+
+
diff --git a/ghc/tests/rename/should_fail/rnfail018.stderr b/ghc/tests/rename/should_fail/rnfail018.stderr
new file mode 100644
index 0000000000..9e02aad5ab
--- /dev/null
+++ b/ghc/tests/rename/should_fail/rnfail018.stderr
@@ -0,0 +1,15 @@
+
+rnfail018.hs:12:
+ The constrained type variable `b' does not appear in the type `m a'
+ In the type signature for `setState0'
+
+rnfail018.hs:12: Type variable not in scope: `a'
+
+rnfail018.hs:12: Type variable not in scope: `m'
+
+rnfail018.hs:12: Type variable not in scope: `m'
+
+rnfail018.hs:12: Type variable not in scope: `a'
+
+Compilation had errors
+