[project @ 1999-10-14 07:23:10 by simonpj]
authorsimonpj <unknown>
Thu, 14 Oct 1999 07:23:10 +0000 (07:23 +0000)
committersimonpj <unknown>
Thu, 14 Oct 1999 07:23:10 +0000 (07:23 +0000)
Add a test for scoped type variables

ghc/tests/rename/should_fail/rnfail020.hs [new file with mode: 0644]
ghc/tests/rename/should_fail/rnfail020.stderr [new file with mode: 0644]

diff --git a/ghc/tests/rename/should_fail/rnfail020.hs b/ghc/tests/rename/should_fail/rnfail020.hs
new file mode 100644 (file)
index 0000000..b434fa4
--- /dev/null
@@ -0,0 +1,21 @@
+{-# OPTIONS -fglasgow-exts #-}
+
+-- !!! Error messages with scoped type variables
+
+module Foo where
+
+data Set a = Set a
+
+unionSetB :: Eq a => Set a -> Set a -> Set a
+unionSetB (s1 :: Set a) s2 = unionSets s1 s2
+ where
+   unionSets :: Eq a => Set a -> Set a -> Set a
+   unionSets a b = a
+
+
+{- In GHC 4.04 this gave the terrible message:
+
+    None of the type variable(s) in the constraint `Eq a'
+       appears in the type `Set a -> Set a -> Set a'
+    In the type signature for `unionSets'
+-}
diff --git a/ghc/tests/rename/should_fail/rnfail020.stderr b/ghc/tests/rename/should_fail/rnfail020.stderr
new file mode 100644 (file)
index 0000000..e1a9879
--- /dev/null
@@ -0,0 +1,8 @@
+
+rnfail019.hs:5:
+    The operator `:' [infixr 5] of a section
+       must have lower precedence than the operand `:' [infixr 5]
+       In the section: `((x : y) :)'
+
+Compilation had errors
+