summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsimonpj <unknown>1999-06-09 09:36:25 +0000
committersimonpj <unknown>1999-06-09 09:36:25 +0000
commit35e599b596d442e72adb8f0364f223b18dfbb095 (patch)
treef95eb206f5e4cc2ccd99636f545ede335f253339
parentcfcebde74cf826af12143a92bcffa8c995eee135 (diff)
downloadhaskell-35e599b596d442e72adb8f0364f223b18dfbb095.tar.gz
[project @ 1999-06-09 09:35:54 by simonpj]
Lots of small fixes to ghc/tests
-rw-r--r--ghc/tests/ccall/should_fail/cc001.stderr2
-rw-r--r--ghc/tests/ccall/should_fail/cc002.stderr2
-rw-r--r--ghc/tests/ccall/should_fail/cc004.stderr4
-rw-r--r--ghc/tests/deSugar/should_compile/ds020.stderr1
-rw-r--r--ghc/tests/deriving/should_fail/drvfail004.stderr1
-rw-r--r--ghc/tests/deriving/should_fail/drvfail007.stderr1
-rw-r--r--ghc/tests/lib/should_run/Makefile3
-rw-r--r--ghc/tests/lib/should_run/enum01.stdout32
-rw-r--r--ghc/tests/lib/should_run/stableptr001.hs1
-rw-r--r--ghc/tests/lib/should_run/stableptr002.hs2
-rw-r--r--ghc/tests/lib/should_run/stableptr003.hs2
-rw-r--r--ghc/tests/lib/should_run/text001.hs15
-rw-r--r--ghc/tests/lib/should_run/text001.stdout1
-rw-r--r--ghc/tests/numeric/should_run/arith011.hs12
-rw-r--r--ghc/tests/numeric/should_run/arith011.stdout911
-rw-r--r--ghc/tests/programs/Makefile9
-rw-r--r--ghc/tests/programs/barton-mangler-bug/Basic.hs15
-rw-r--r--ghc/tests/programs/fast2haskell/Word.hs4
-rw-r--r--ghc/tests/programs/fun_insts/Main.hs3
-rw-r--r--ghc/tests/programs/jeff-bug/AQ.hs2
-rw-r--r--ghc/tests/programs/jeff-bug/BoundedSet.hs2
-rw-r--r--ghc/tests/programs/jeff-bug/Devices.hs9
-rw-r--r--ghc/tests/programs/jeff-bug/PreludeSig.hs10
-rw-r--r--ghc/tests/programs/jeff-bug/ROB_retire.hs1
-rw-r--r--ghc/tests/programs/jeff-bug/STEx.hs12
-rw-r--r--ghc/tests/programs/jeff-bug/Signal.hs11
-rw-r--r--ghc/tests/programs/jeff-bug/Trans.hs2
-rw-r--r--ghc/tests/programs/life_space_leak/Makefile2
-rw-r--r--ghc/tests/programs/north_lias/Main.lhs10
-rw-r--r--ghc/tests/programs/okeefe_neural/Main.hs2
-rw-r--r--ghc/tests/reader/should_compile/MyList.hi3
-rw-r--r--ghc/tests/reader/should_compile/read012.stderr2
-rw-r--r--ghc/tests/reader/should_fail/expr001.hs1
-rw-r--r--ghc/tests/reader/should_fail/expr001.stderr4
-rw-r--r--ghc/tests/rename/should_fail/rnfail001.stderr3
-rw-r--r--ghc/tests/rename/should_fail/rnfail002.stderr1
-rw-r--r--ghc/tests/rename/should_fail/rnfail003.stderr1
-rw-r--r--ghc/tests/rename/should_fail/rnfail004.stderr1
-rw-r--r--ghc/tests/rename/should_fail/rnfail007.stderr3
-rw-r--r--ghc/tests/rename/should_fail/rnfail008.stderr1
-rw-r--r--ghc/tests/rename/should_fail/rnfail009.stderr1
-rw-r--r--ghc/tests/rename/should_fail/rnfail010.stderr1
-rw-r--r--ghc/tests/rename/should_fail/rnfail011.stderr1
-rw-r--r--ghc/tests/rename/should_fail/rnfail012.stderr1
-rw-r--r--ghc/tests/rename/should_fail/rnfail013.stderr1
-rw-r--r--ghc/tests/rename/should_fail/rnfail014.stderr28
-rw-r--r--ghc/tests/rename/should_fail/rnfail015.stderr1
-rw-r--r--ghc/tests/typecheck/should_compile/tc001.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc005.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc008.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc009.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc034.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc038.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc048.stderr8
-rw-r--r--ghc/tests/typecheck/should_compile/tc049.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc050.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc052.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc053.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc054.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc056.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc058.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc059.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc063.stderr4
-rw-r--r--ghc/tests/typecheck/should_compile/tc065.hs2
-rw-r--r--ghc/tests/typecheck/should_compile/tc068.stderr10
-rw-r--r--ghc/tests/typecheck/should_compile/tc074.stderr10
-rw-r--r--ghc/tests/typecheck/should_compile/tc077.stderr4
-rw-r--r--ghc/tests/typecheck/should_compile/tc081.stderr6
-rw-r--r--ghc/tests/typecheck/should_compile/tc084.stderr2
-rw-r--r--ghc/tests/typecheck/should_compile/tc087.stderr4
-rw-r--r--ghc/tests/typecheck/should_compile/tc088.hs2
-rw-r--r--ghc/tests/typecheck/should_compile/tc088.stderr6
-rw-r--r--ghc/tests/typecheck/should_compile/tc093.stderr6
-rw-r--r--ghc/tests/typecheck/should_compile/tc095.stderr14
-rw-r--r--ghc/tests/typecheck/should_compile/tc098.stderr6
-rw-r--r--ghc/tests/typecheck/should_compile/tc100.stderr6
-rw-r--r--ghc/tests/typecheck/should_fail/Digraph.stderr12
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail001.stderr4
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail002.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail003.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail004.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail005.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail006.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail007.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail008.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail009.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail010.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail011.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail012.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail013.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail014.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail015.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail016.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail017.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail018.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail019.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail020.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail021.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail023.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail027.hs1
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail027.stderr8
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail028.hs1
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail028.stderr4
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail029.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail030.hs1
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail030.stderr4
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail031.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail032.stderr7
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail033.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail034.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail035.stderr4
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail036.stderr4
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail037.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail038.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail039.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail040.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail042.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail043.hs7
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail043.stderr35
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail044.hs2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail044.stderr4
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail045.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail046.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail047.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail048.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail049.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail050.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail051.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail052.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail053.hs1
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail053.stderr4
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail054.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail055.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail056.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail057.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail058.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail061.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail062.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail065.stderr8
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail067.stderr13
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail068.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail069.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail070.hs2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail070.stderr4
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail071.stderr14
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail072.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail073.stderr4
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail074.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail076.stderr12
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail077.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail078.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail079.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail080.stderr2
-rw-r--r--ghc/tests/typecheck/should_fail/tcfail081.stderr11
154 files changed, 1151 insertions, 382 deletions
diff --git a/ghc/tests/ccall/should_fail/cc001.stderr b/ghc/tests/ccall/should_fail/cc001.stderr
index e95963165d..4388fc9a7d 100644
--- a/ghc/tests/ccall/should_fail/cc001.stderr
+++ b/ghc/tests/ccall/should_fail/cc001.stderr
@@ -1,7 +1,7 @@
cc001.hs:5:
Ambiguous type variable(s) `t'
- in the constraint `PrelGHC.CCallable t'
+ in the constraint `CCallable t'
arising from an argument in the _ccall_ to `foo', namely `(undefined ())' at cc001.hs:5
Compilation had errors
diff --git a/ghc/tests/ccall/should_fail/cc002.stderr b/ghc/tests/ccall/should_fail/cc002.stderr
index d41df55524..26bc5d0509 100644
--- a/ghc/tests/ccall/should_fail/cc002.stderr
+++ b/ghc/tests/ccall/should_fail/cc002.stderr
@@ -1,6 +1,6 @@
cc002.hs:10:
- No instance for `PrelGHC.CReturnable ForeignObj'
+ No instance for `CReturnable ForeignObj'
arising from the result of the _ccall_ to `a' at cc002.hs:10
Compilation had errors
diff --git a/ghc/tests/ccall/should_fail/cc004.stderr b/ghc/tests/ccall/should_fail/cc004.stderr
index 1b02c464b2..11f5d856ce 100644
--- a/ghc/tests/ccall/should_fail/cc004.stderr
+++ b/ghc/tests/ccall/should_fail/cc004.stderr
@@ -1,11 +1,11 @@
cc004.hs:2:
Cannot generalise these overloadings (in a _ccall_):
- `PrelGHC.CReturnable b' arising from the result of the _ccall_ to `f' at cc004.hs:15
+ `CReturnable b' arising from the result of the _ccall_ to `f' at cc004.hs:15
cc004.hs:2:
Cannot generalise these overloadings (in a _ccall_):
- `PrelGHC.CReturnable b' arising from the result of the _ccall_ to `f' at cc004.hs:8
+ `CReturnable b' arising from the result of the _ccall_ to `f' at cc004.hs:8
Compilation had errors
diff --git a/ghc/tests/deSugar/should_compile/ds020.stderr b/ghc/tests/deSugar/should_compile/ds020.stderr
index 87ecde21cb..719bd5ee36 100644
--- a/ghc/tests/deSugar/should_compile/ds020.stderr
+++ b/ghc/tests/deSugar/should_compile/ds020.stderr
@@ -11,4 +11,3 @@ ds020.hs:13: Pattern match(es) are overlapped in the definition of function `d':
ds020.hs:19: Pattern match(es) are overlapped in the definition of function `f':
f (x@~[]) = ...
-NOTE: Simplifier still going after 4 iterations; bailing out.
diff --git a/ghc/tests/deriving/should_fail/drvfail004.stderr b/ghc/tests/deriving/should_fail/drvfail004.stderr
index 81978e9c3a..3657e58a93 100644
--- a/ghc/tests/deriving/should_fail/drvfail004.stderr
+++ b/ghc/tests/deriving/should_fail/drvfail004.stderr
@@ -9,3 +9,4 @@ drvfail004.hs:5:
When checking the superclasses of an instance declaration
Compilation had errors
+
diff --git a/ghc/tests/deriving/should_fail/drvfail007.stderr b/ghc/tests/deriving/should_fail/drvfail007.stderr
index d8ee804db8..ae4b9bf300 100644
--- a/ghc/tests/deriving/should_fail/drvfail007.stderr
+++ b/ghc/tests/deriving/should_fail/drvfail007.stderr
@@ -4,3 +4,4 @@ drvfail007.hs:2:
When deriving classes for `Foo'
Compilation had errors
+
diff --git a/ghc/tests/lib/should_run/Makefile b/ghc/tests/lib/should_run/Makefile
index ffb1f61812..b65b4d9502 100644
--- a/ghc/tests/lib/should_run/Makefile
+++ b/ghc/tests/lib/should_run/Makefile
@@ -1,5 +1,5 @@
#-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.11 1999/02/26 12:42:06 simonm Exp $
+# $Id: Makefile,v 1.12 1999/06/09 09:35:58 simonpj Exp $
TOP = ../..
include $(TOP)/mk/boilerplate.mk
@@ -11,6 +11,7 @@ packedstring001_HC_OPTS = -syslib misc
exceptions001_HC_OPTS = -fglasgow-exts -fno-warn-missing-methods
stableptr002_HC_OPTS = -fglasgow-exts
+stableptr003_HC_OPTS = -fglasgow-exts
list001_HC_OPTS = -fglasgow-exts
enum01_HC_OPTS = -cpp -fglasgow-exts -H12m
diff --git a/ghc/tests/lib/should_run/enum01.stdout b/ghc/tests/lib/should_run/enum01.stdout
index 6b4538eb78..436fa69dff 100644
--- a/ghc/tests/lib/should_run/enum01.stdout
+++ b/ghc/tests/lib/should_run/enum01.stdout
@@ -60,12 +60,12 @@ Testing Enum Integer:
Testing Enum Char:
(succ 'a') = 'b'
(succ (minBound::Char)) = '\SOH'
- (succ (maxBound::Char)) = error "Prelude.Enum.succ{Char}: tried to take `succ' of maxBound"
+ (succ (maxBound::Char)) = error "Prelude.Enum.Char.succ: bad argument"
(pred 'b') = 'a'
pred (maxBound::Char) = '\254'
- pred (minBound::Char) = error "Prelude.Enum.pred{Char}: tried to to take `pred' of minBound"
+ pred (minBound::Char) = error "Prelude.Enum.Char.pred: bad argument"
(map (toEnum::Int->Char) [123,ord (minBound::Char), ord(maxBound::Char)]) = "{\NUL\255"
- (toEnum::Int->Char) (minBound::Int) = error "Prelude.Enum.toEnum{Char}: out of range: -2147483648"
+ (toEnum::Int->Char) (minBound::Int) = error "Prelude.chr: bad argument"
(map fromEnum ['X',minBound,maxBound]) = [88,0,255]
(take 7 ['\NUL' .. ]) = "\NUL\SOH\STX\ETX\EOT\ENQ\ACK"
(take 7 ['\250' .. ]) = "\250\251\252\253\254\255"
@@ -93,14 +93,14 @@ Testing Enum Char:
(take 7 ['\251', '\252' .. maxBound]) = "\251\252\253\254\255"
(take 7 ['\5', '\4' .. minBound]) = "\ENQ\EOT\ETX\STX\SOH\NUL"
Testing Enum ():
- (succ ()) = error "Prelude.Enum.succ{()}: not possible"
- (succ (minBound::())) = error "Prelude.Enum.succ{()}: not possible"
- (succ (maxBound::())) = error "Prelude.Enum.succ{()}: not possible"
- (pred ()) = error "Prelude.Enum.pred{()}: not possible"
- (pred (minBound::())) = error "Prelude.Enum.pred{()}: not possible"
- (pred (maxBound::())) = error "Prelude.Enum.pred{()}: not possible"
+ (succ ()) = error "Prelude.Enum.().succ: bad argment"
+ (succ (minBound::())) = error "Prelude.Enum.().succ: bad argment"
+ (succ (maxBound::())) = error "Prelude.Enum.().succ: bad argment"
+ (pred ()) = error "Prelude.Enum.().pred: bad argument"
+ (pred (minBound::())) = error "Prelude.Enum.().pred: bad argument"
+ (pred (maxBound::())) = error "Prelude.Enum.().pred: bad argument"
(toEnum 0)::() = ()
- (toEnum 1)::() = error "Prelude.Enum.toEnum{()}: argument not 0"
+ (toEnum 1)::() = error "Prelude.Enum.().toEnum: bad argument"
(fromEnum ()) = 0
([()..]) = [()]
([(),()..]) = [()]
@@ -109,12 +109,12 @@ Testing Enum ():
Testing Enum Ordering (derived):
(succ LT) = EQ
(succ (minBound::Ordering)) = EQ
- (succ (maxBound::Ordering)) = error "succ{Ordering}: tried to take `succ' of last tag in enumeration"
+ (succ (maxBound::Ordering)) = error "Prelude.Enum.Ordering.succ: bad argment"
(pred GT) = EQ
(pred (maxBound::Ordering)) = EQ
- (pred (minBound::Ordering)) = error "pred{Ordering}: tried to take `pred' of first tag in enumeration"
+ (pred (minBound::Ordering)) = error "Prelude.Enum.Ordering.pred: bad argment"
(toEnum 0)::Ordering = LT
- (toEnum 5)::Ordering = error "toEnum{Ordering}: tag (5) is outside of enumeration's range (0,2)"
+ (toEnum 5)::Ordering = error "Prelude.Enum.Ordering.toEnum: bad argment"
(fromEnum LT) = 0
(fromEnum EQ) = 1
(fromEnum GT) = 2
@@ -146,12 +146,12 @@ Testing Enum Ordering (derived):
Testing Enum Bool:
(succ False) = True
(succ (minBound::Bool)) = True
- (succ (maxBound::Bool)) = error "succ{Bool}: tried to take `succ' of last tag in enumeration"
+ (succ (maxBound::Bool)) = error "Prelude.Enum.Bool.succ: bad argment"
(pred True) = False
(pred (maxBound::Bool)) = False
- (pred (minBound::Bool)) = error "pred{Bool}: tried to take `pred' of first tag in enumeration"
+ (pred (minBound::Bool)) = error "Prelude.Enum.Bool.pred: bad argment"
(toEnum 0)::Bool = False
- (toEnum 5)::Bool = error "toEnum{Bool}: tag (5) is outside of enumeration's range (0,1)"
+ (toEnum 5)::Bool = error "Prelude.Enum.Bool.toEnum: bad argment"
(fromEnum False) = 0
(fromEnum True) = 1
([False ..]) = [False,True]
diff --git a/ghc/tests/lib/should_run/stableptr001.hs b/ghc/tests/lib/should_run/stableptr001.hs
index 42ee1fe58c..98180b5bf4 100644
--- a/ghc/tests/lib/should_run/stableptr001.hs
+++ b/ghc/tests/lib/should_run/stableptr001.hs
@@ -3,6 +3,7 @@
module Main where
import Foreign
+import Stable
-- simple test for building/dereferencing stable ptrs
diff --git a/ghc/tests/lib/should_run/stableptr002.hs b/ghc/tests/lib/should_run/stableptr002.hs
index 3edcc6c8de..3cd3673a10 100644
--- a/ghc/tests/lib/should_run/stableptr002.hs
+++ b/ghc/tests/lib/should_run/stableptr002.hs
@@ -1,6 +1,6 @@
module Main where
-import PrelStable
+import Stable
-- Testing callbacks: the initial haskell thread calls out to C with
-- the address of a Haskell callback. The C function runs the callback
diff --git a/ghc/tests/lib/should_run/stableptr003.hs b/ghc/tests/lib/should_run/stableptr003.hs
index 81f12a5c9b..ec3cfa807b 100644
--- a/ghc/tests/lib/should_run/stableptr003.hs
+++ b/ghc/tests/lib/should_run/stableptr003.hs
@@ -1,6 +1,6 @@
module Main where
-import PrelStable
+import Stable
main = do
stable_list1 <- mapM makeStableName list
diff --git a/ghc/tests/lib/should_run/text001.hs b/ghc/tests/lib/should_run/text001.hs
new file mode 100644
index 0000000000..18aab82dd9
--- /dev/null
+++ b/ghc/tests/lib/should_run/text001.hs
@@ -0,0 +1,15 @@
+{- Bug report 28 May 99
+
+When compiled with ghc-4.02, everything's fine, it outputs "Value 7" as
+expected. But compiled with ghc-pre-4.03 it yields this error message.
+
+ Fail: Prelude.read: no parse
+-}
+
+module Main where
+
+data Msg = Value Int | Inc deriving (Show, Read)
+
+main = do let v = read "Value 7"::Msg
+ print v
+
diff --git a/ghc/tests/lib/should_run/text001.stdout b/ghc/tests/lib/should_run/text001.stdout
new file mode 100644
index 0000000000..a0c782242e
--- /dev/null
+++ b/ghc/tests/lib/should_run/text001.stdout
@@ -0,0 +1 @@
+Value 7
diff --git a/ghc/tests/numeric/should_run/arith011.hs b/ghc/tests/numeric/should_run/arith011.hs
index b9312282a1..903bc25497 100644
--- a/ghc/tests/numeric/should_run/arith011.hs
+++ b/ghc/tests/numeric/should_run/arith011.hs
@@ -10,6 +10,7 @@ main = test
test :: IO ()
test = do
+ testIntlikeNoBits "Int" (0::Int)
testIntlike "Int8" (0::Int8)
testIntlike "Int16" (0::Int16)
testIntlike "Int32" (0::Int32)
@@ -17,8 +18,8 @@ test = do
testIntlike "Word16" (0::Word16)
testIntlike "Word32" (0::Word32)
-testIntlike :: (Bounded a, Integral a, Ix a, Read a, Bits a) => String -> a -> IO ()
-testIntlike name zero = do
+testIntlikeNoBits :: (Bounded a, Integral a, Ix a, Read a) => String -> a -> IO ()
+testIntlikeNoBits name zero = do
putStrLn $ "--------------------------------"
putStrLn $ "--Testing " ++ name
putStrLn $ "--------------------------------"
@@ -30,8 +31,13 @@ testIntlike name zero = do
testNum zero
testReal zero
testIntegral zero
+
+
+testIntlike :: (Bounded a, Integral a, Ix a, Read a, Bits a) => String -> a -> IO ()
+testIntlike name zero = do
+ testIntlikeNoBits name zero
testBits zero
- putStrLn $ "--------------------------------"
+
-- In all these tests, zero is a dummy element used to get
-- the overloading to work
diff --git a/ghc/tests/numeric/should_run/arith011.stdout b/ghc/tests/numeric/should_run/arith011.stdout
index 6b382ce12c..2ca8409a9d 100644
--- a/ghc/tests/numeric/should_run/arith011.stdout
+++ b/ghc/tests/numeric/should_run/arith011.stdout
@@ -1,4 +1,909 @@
--------------------------------
+--Testing Int
+--------------------------------
+testBounded
+(2147483647,-2147483648,-2147483647)
+(2147483646,2147483647,-2147483648)
+testEnum
+[0,1,2,3,4,5,6,7,8,9]
+[0,2,4,6,8,10,12,14,16,18]
+[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
+[0,2,4,6,8,10,12,14,16,18,20]
+testReadShow
+[-3,-2,-1,0,1,2,3]
+[-3,-2,-1,0,1,2,3]
+testEq
+-3 == -3 = True
+-3 == -2 = False
+-3 == -1 = False
+-3 == 0 = False
+-3 == 1 = False
+-3 == 2 = False
+-3 == 3 = False
+
+-2 == -3 = False
+-2 == -2 = True
+-2 == -1 = False
+-2 == 0 = False
+-2 == 1 = False
+-2 == 2 = False
+-2 == 3 = False
+
+-1 == -3 = False
+-1 == -2 = False
+-1 == -1 = True
+-1 == 0 = False
+-1 == 1 = False
+-1 == 2 = False
+-1 == 3 = False
+
+0 == -3 = False
+0 == -2 = False
+0 == -1 = False
+0 == 0 = True
+0 == 1 = False
+0 == 2 = False
+0 == 3 = False
+
+1 == -3 = False
+1 == -2 = False
+1 == -1 = False
+1 == 0 = False
+1 == 1 = True
+1 == 2 = False
+1 == 3 = False
+
+2 == -3 = False
+2 == -2 = False
+2 == -1 = False
+2 == 0 = False
+2 == 1 = False
+2 == 2 = True
+2 == 3 = False
+
+3 == -3 = False
+3 == -2 = False
+3 == -1 = False
+3 == 0 = False
+3 == 1 = False
+3 == 2 = False
+3 == 3 = True
+
+#
+-3 /= -3 = False
+-3 /= -2 = True
+-3 /= -1 = True
+-3 /= 0 = True
+-3 /= 1 = True
+-3 /= 2 = True
+-3 /= 3 = True
+
+-2 /= -3 = True
+-2 /= -2 = False
+-2 /= -1 = True
+-2 /= 0 = True
+-2 /= 1 = True
+-2 /= 2 = True
+-2 /= 3 = True
+
+-1 /= -3 = True
+-1 /= -2 = True
+-1 /= -1 = False
+-1 /= 0 = True
+-1 /= 1 = True
+-1 /= 2 = True
+-1 /= 3 = True
+
+0 /= -3 = True
+0 /= -2 = True
+0 /= -1 = True
+0 /= 0 = False
+0 /= 1 = True
+0 /= 2 = True
+0 /= 3 = True
+
+1 /= -3 = True
+1 /= -2 = True
+1 /= -1 = True
+1 /= 0 = True
+1 /= 1 = False
+1 /= 2 = True
+1 /= 3 = True
+
+2 /= -3 = True
+2 /= -2 = True
+2 /= -1 = True
+2 /= 0 = True
+2 /= 1 = True
+2 /= 2 = False
+2 /= 3 = True
+
+3 /= -3 = True
+3 /= -2 = True
+3 /= -1 = True
+3 /= 0 = True
+3 /= 1 = True
+3 /= 2 = True
+3 /= 3 = False
+
+#
+testOrd
+-3 <= -3 = True
+-3 <= -2 = True
+-3 <= -1 = True
+-3 <= 0 = True
+-3 <= 1 = True
+-3 <= 2 = True
+-3 <= 3 = True
+
+-2 <= -3 = False
+-2 <= -2 = True
+-2 <= -1 = True
+-2 <= 0 = True
+-2 <= 1 = True
+-2 <= 2 = True
+-2 <= 3 = True
+
+-1 <= -3 = False
+-1 <= -2 = False
+-1 <= -1 = True
+-1 <= 0 = True
+-1 <= 1 = True
+-1 <= 2 = True
+-1 <= 3 = True
+
+0 <= -3 = False
+0 <= -2 = False
+0 <= -1 = False
+0 <= 0 = True
+0 <= 1 = True
+0 <= 2 = True
+0 <= 3 = True
+
+1 <= -3 = False
+1 <= -2 = False
+1 <= -1 = False
+1 <= 0 = False
+1 <= 1 = True
+1 <= 2 = True
+1 <= 3 = True
+
+2 <= -3 = False
+2 <= -2 = False
+2 <= -1 = False
+2 <= 0 = False
+2 <= 1 = False
+2 <= 2 = True
+2 <= 3 = True
+
+3 <= -3 = False
+3 <= -2 = False
+3 <= -1 = False
+3 <= 0 = False
+3 <= 1 = False
+3 <= 2 = False
+3 <= 3 = True
+
+#
+-3 < -3 = False
+-3 < -2 = True
+-3 < -1 = True
+-3 < 0 = True
+-3 < 1 = True
+-3 < 2 = True
+-3 < 3 = True
+
+-2 < -3 = False
+-2 < -2 = False
+-2 < -1 = True
+-2 < 0 = True
+-2 < 1 = True
+-2 < 2 = True
+-2 < 3 = True
+
+-1 < -3 = False
+-1 < -2 = False
+-1 < -1 = False
+-1 < 0 = True
+-1 < 1 = True
+-1 < 2 = True
+-1 < 3 = True
+
+0 < -3 = False
+0 < -2 = False
+0 < -1 = False
+0 < 0 = False
+0 < 1 = True
+0 < 2 = True
+0 < 3 = True
+
+1 < -3 = False
+1 < -2 = False
+1 < -1 = False
+1 < 0 = False
+1 < 1 = False
+1 < 2 = True
+1 < 3 = True
+
+2 < -3 = False
+2 < -2 = False
+2 < -1 = False
+2 < 0 = False
+2 < 1 = False
+2 < 2 = False
+2 < 3 = True
+
+3 < -3 = False
+3 < -2 = False
+3 < -1 = False
+3 < 0 = False
+3 < 1 = False
+3 < 2 = False
+3 < 3 = False
+
+#
+-3 > -3 = False
+-3 > -2 = False
+-3 > -1 = False
+-3 > 0 = False
+-3 > 1 = False
+-3 > 2 = False
+-3 > 3 = False
+
+-2 > -3 = True
+-2 > -2 = False
+-2 > -1 = False
+-2 > 0 = False
+-2 > 1 = False
+-2 > 2 = False
+-2 > 3 = False
+
+-1 > -3 = True
+-1 > -2 = True
+-1 > -1 = False
+-1 > 0 = False
+-1 > 1 = False
+-1 > 2 = False
+-1 > 3 = False
+
+0 > -3 = True
+0 > -2 = True
+0 > -1 = True
+0 > 0 = False
+0 > 1 = False
+0 > 2 = False
+0 > 3 = False
+
+1 > -3 = True
+1 > -2 = True
+1 > -1 = True
+1 > 0 = True
+1 > 1 = False
+1 > 2 = False
+1 > 3 = False
+
+2 > -3 = True
+2 > -2 = True
+2 > -1 = True
+2 > 0 = True
+2 > 1 = True
+2 > 2 = False
+2 > 3 = False
+
+3 > -3 = True
+3 > -2 = True
+3 > -1 = True
+3 > 0 = True
+3 > 1 = True
+3 > 2 = True
+3 > 3 = False
+
+#
+-3 >= -3 = True
+-3 >= -2 = False
+-3 >= -1 = False
+-3 >= 0 = False
+-3 >= 1 = False
+-3 >= 2 = False
+-3 >= 3 = False
+
+-2 >= -3 = True
+-2 >= -2 = True
+-2 >= -1 = False
+-2 >= 0 = False
+-2 >= 1 = False
+-2 >= 2 = False
+-2 >= 3 = False
+
+-1 >= -3 = True
+-1 >= -2 = True
+-1 >= -1 = True
+-1 >= 0 = False
+-1 >= 1 = False
+-1 >= 2 = False
+-1 >= 3 = False
+
+0 >= -3 = True
+0 >= -2 = True
+0 >= -1 = True
+0 >= 0 = True
+0 >= 1 = False
+0 >= 2 = False
+0 >= 3 = False
+
+1 >= -3 = True
+1 >= -2 = True
+1 >= -1 = True
+1 >= 0 = True
+1 >= 1 = True
+1 >= 2 = False
+1 >= 3 = False
+
+2 >= -3 = True
+2 >= -2 = True
+2 >= -1 = True
+2 >= 0 = True
+2 >= 1 = True
+2 >= 2 = True
+2 >= 3 = False
+
+3 >= -3 = True
+3 >= -2 = True
+3 >= -1 = True
+3 >= 0 = True
+3 >= 1 = True
+3 >= 2 = True
+3 >= 3 = True
+
+#
+-3 `compare` -3 = EQ
+-3 `compare` -2 = LT
+-3 `compare` -1 = LT
+-3 `compare` 0 = LT
+-3 `compare` 1 = LT
+-3 `compare` 2 = LT
+-3 `compare` 3 = LT
+
+-2 `compare` -3 = GT
+-2 `compare` -2 = EQ
+-2 `compare` -1 = LT
+-2 `compare` 0 = LT
+-2 `compare` 1 = LT
+-2 `compare` 2 = LT
+-2 `compare` 3 = LT
+
+-1 `compare` -3 = GT
+-1 `compare` -2 = GT
+-1 `compare` -1 = EQ
+-1 `compare` 0 = LT
+-1 `compare` 1 = LT
+-1 `compare` 2 = LT
+-1 `compare` 3 = LT
+
+0 `compare` -3 = GT
+0 `compare` -2 = GT
+0 `compare` -1 = GT
+0 `compare` 0 = EQ
+0 `compare` 1 = LT
+0 `compare` 2 = LT
+0 `compare` 3 = LT
+
+1 `compare` -3 = GT
+1 `compare` -2 = GT
+1 `compare` -1 = GT
+1 `compare` 0 = GT
+1 `compare` 1 = EQ
+1 `compare` 2 = LT
+1 `compare` 3 = LT
+
+2 `compare` -3 = GT
+2 `compare` -2 = GT
+2 `compare` -1 = GT
+2 `compare` 0 = GT
+2 `compare` 1 = GT
+2 `compare` 2 = EQ
+2 `compare` 3 = LT
+
+3 `compare` -3 = GT
+3 `compare` -2 = GT
+3 `compare` -1 = GT
+3 `compare` 0 = GT
+3 `compare` 1 = GT
+3 `compare` 2 = GT
+3 `compare` 3 = EQ
+
+#
+testNum
+-3 + -3 = -6
+-3 + -2 = -5
+-3 + -1 = -4
+-3 + 0 = -3
+-3 + 1 = -2
+-3 + 2 = -1
+-3 + 3 = 0
+
+-2 + -3 = -5
+-2 + -2 = -4
+-2 + -1 = -3
+-2 + 0 = -2
+-2 + 1 = -1
+-2 + 2 = 0
+-2 + 3 = 1
+
+-1 + -3 = -4
+-1 + -2 = -3
+-1 + -1 = -2
+-1 + 0 = -1
+-1 + 1 = 0
+-1 + 2 = 1
+-1 + 3 = 2
+
+0 + -3 = -3
+0 + -2 = -2
+0 + -1 = -1
+0 + 0 = 0
+0 + 1 = 1
+0 + 2 = 2
+0 + 3 = 3
+
+1 + -3 = -2
+1 + -2 = -1
+1 + -1 = 0
+1 + 0 = 1
+1 + 1 = 2
+1 + 2 = 3
+1 + 3 = 4
+
+2 + -3 = -1
+2 + -2 = 0
+2 + -1 = 1
+2 + 0 = 2
+2 + 1 = 3
+2 + 2 = 4
+2 + 3 = 5
+
+3 + -3 = 0
+3 + -2 = 1
+3 + -1 = 2
+3 + 0 = 3
+3 + 1 = 4
+3 + 2 = 5
+3 + 3 = 6
+
+#
+-3 - -3 = 0
+-3 - -2 = -1
+-3 - -1 = -2
+-3 - 0 = -3
+-3 - 1 = -4
+-3 - 2 = -5
+-3 - 3 = -6
+
+-2 - -3 = 1
+-2 - -2 = 0
+-2 - -1 = -1
+-2 - 0 = -2
+-2 - 1 = -3
+-2 - 2 = -4
+-2 - 3 = -5
+
+-1 - -3 = 2
+-1 - -2 = 1
+-1 - -1 = 0
+-1 - 0 = -1
+-1 - 1 = -2
+-1 - 2 = -3
+-1 - 3 = -4
+
+0 - -3 = 3
+0 - -2 = 2
+0 - -1 = 1
+0 - 0 = 0
+0 - 1 = -1
+0 - 2 = -2
+0 - 3 = -3
+
+1 - -3 = 4
+1 - -2 = 3
+1 - -1 = 2
+1 - 0 = 1
+1 - 1 = 0
+1 - 2 = -1
+1 - 3 = -2
+
+2 - -3 = 5
+2 - -2 = 4
+2 - -1 = 3
+2 - 0 = 2
+2 - 1 = 1
+2 - 2 = 0
+2 - 3 = -1
+
+3 - -3 = 6
+3 - -2 = 5
+3 - -1 = 4
+3 - 0 = 3
+3 - 1 = 2
+3 - 2 = 1
+3 - 3 = 0
+
+#
+-3 * -3 = 9
+-3 * -2 = 6
+-3 * -1 = 3
+-3 * 0 = 0
+-3 * 1 = -3
+-3 * 2 = -6
+-3 * 3 = -9
+
+-2 * -3 = 6
+-2 * -2 = 4
+-2 * -1 = 2
+-2 * 0 = 0
+-2 * 1 = -2
+-2 * 2 = -4
+-2 * 3 = -6
+
+-1 * -3 = 3
+-1 * -2 = 2
+-1 * -1 = 1
+-1 * 0 = 0
+-1 * 1 = -1
+-1 * 2 = -2
+-1 * 3 = -3
+
+0 * -3 = 0
+0 * -2 = 0
+0 * -1 = 0
+0 * 0 = 0
+0 * 1 = 0
+0 * 2 = 0
+0 * 3 = 0
+
+1 * -3 = -3
+1 * -2 = -2
+1 * -1 = -1
+1 * 0 = 0
+1 * 1 = 1
+1 * 2 = 2
+1 * 3 = 3
+
+2 * -3 = -6
+2 * -2 = -4
+2 * -1 = -2
+2 * 0 = 0
+2 * 1 = 2
+2 * 2 = 4
+2 * 3 = 6
+
+3 * -3 = -9
+3 * -2 = -6
+3 * -1 = -3
+3 * 0 = 0
+3 * 1 = 3
+3 * 2 = 6
+3 * 3 = 9
+
+#
+negate -3 = 3
+negate -2 = 2
+negate -1 = 1
+negate 0 = 0
+negate 1 = -1
+negate 2 = -2
+negate 3 = -3
+#
+testReal
+toRational -3 = -3 % 1
+toRational -2 = -2 % 1
+toRational -1 = -1 % 1
+toRational 0 = 0 % 1
+toRational 1 = 1 % 1
+toRational 2 = 2 % 1
+toRational 3 = 3 % 1
+#
+testIntegral
+-3 `divMod` -3 = (1,0)
+-3 `divMod` -2 = (1,-1)
+-3 `divMod` -1 = (3,0)
+-3 `divMod` 1 = (-3,0)
+-3 `divMod` 2 = (-2,1)
+-3 `divMod` 3 = (-1,0)
+
+-2 `divMod` -3 = (0,-2)
+-2 `divMod` -2 = (1,0)
+-2 `divMod` -1 = (2,0)
+-2 `divMod` 1 = (-2,0)
+-2 `divMod` 2 = (-1,0)
+-2 `divMod` 3 = (-1,1)
+
+-1 `divMod` -3 = (0,-1)
+-1 `divMod` -2 = (0,-1)
+-1 `divMod` -1 = (1,0)
+-1 `divMod` 1 = (-1,0)
+-1 `divMod` 2 = (-1,1)
+-1 `divMod` 3 = (-1,2)
+
+0 `divMod` -3 = (0,0)
+0 `divMod` -2 = (0,0)
+0 `divMod` -1 = (0,0)
+0 `divMod` 1 = (0,0)
+0 `divMod` 2 = (0,0)
+0 `divMod` 3 = (0,0)
+
+1 `divMod` -3 = (-1,-2)
+1 `divMod` -2 = (-1,-1)
+1 `divMod` -1 = (-1,0)
+1 `divMod` 1 = (1,0)
+1 `divMod` 2 = (0,1)
+1 `divMod` 3 = (0,1)
+
+2 `divMod` -3 = (-1,-1)
+2 `divMod` -2 = (-1,0)
+2 `divMod` -1 = (-2,0)
+2 `divMod` 1 = (2,0)
+2 `divMod` 2 = (1,0)
+2 `divMod` 3 = (0,2)
+
+3 `divMod` -3 = (-1,0)
+3 `divMod` -2 = (-2,-1)
+3 `divMod` -1 = (-3,0)
+3 `divMod` 1 = (3,0)
+3 `divMod` 2 = (1,1)
+3 `divMod` 3 = (1,0)
+
+#
+-3 `div` -3 = 1
+-3 `div` -2 = 1
+-3 `div` -1 = 3
+-3 `div` 1 = -3
+-3 `div` 2 = -2
+-3 `div` 3 = -1
+
+-2 `div` -3 = 0
+-2 `div` -2 = 1
+-2 `div` -1 = 2
+-2 `div` 1 = -2
+-2 `div` 2 = -1
+-2 `div` 3 = -1
+
+-1 `div` -3 = 0
+-1 `div` -2 = 0
+-1 `div` -1 = 1
+-1 `div` 1 = -1
+-1 `div` 2 = -1
+-1 `div` 3 = -1
+
+0 `div` -3 = 0
+0 `div` -2 = 0
+0 `div` -1 = 0
+0 `div` 1 = 0
+0 `div` 2 = 0
+0 `div` 3 = 0
+
+1 `div` -3 = -1
+1 `div` -2 = -1
+1 `div` -1 = -1
+1 `div` 1 = 1
+1 `div` 2 = 0
+1 `div` 3 = 0
+
+2 `div` -3 = -1
+2 `div` -2 = -1
+2 `div` -1 = -2
+2 `div` 1 = 2
+2 `div` 2 = 1
+2 `div` 3 = 0
+
+3 `div` -3 = -1
+3 `div` -2 = -2
+3 `div` -1 = -3
+3 `div` 1 = 3
+3 `div` 2 = 1
+3 `div` 3 = 1
+
+#
+-3 `mod` -3 = 0
+-3 `mod` -2 = -1
+-3 `mod` -1 = 0
+-3 `mod` 1 = 0
+-3 `mod` 2 = 1
+-3 `mod` 3 = 0
+
+-2 `mod` -3 = -2
+-2 `mod` -2 = 0
+-2 `mod` -1 = 0
+-2 `mod` 1 = 0
+-2 `mod` 2 = 0
+-2 `mod` 3 = 1
+
+-1 `mod` -3 = -1
+-1 `mod` -2 = -1
+-1 `mod` -1 = 0
+-1 `mod` 1 = 0
+-1 `mod` 2 = 1
+-1 `mod` 3 = 2
+
+0 `mod` -3 = 0
+0 `mod` -2 = 0
+0 `mod` -1 = 0
+0 `mod` 1 = 0
+0 `mod` 2 = 0
+0 `mod` 3 = 0
+
+1 `mod` -3 = -2
+1 `mod` -2 = -1
+1 `mod` -1 = 0
+1 `mod` 1 = 0
+1 `mod` 2 = 1
+1 `mod` 3 = 1
+
+2 `mod` -3 = -1
+2 `mod` -2 = 0
+2 `mod` -1 = 0
+2 `mod` 1 = 0
+2 `mod` 2 = 0
+2 `mod` 3 = 2
+
+3 `mod` -3 = 0
+3 `mod` -2 = -1
+3 `mod` -1 = 0
+3 `mod` 1 = 0
+3 `mod` 2 = 1
+3 `mod` 3 = 0
+
+#
+-3 `quotRem` -3 = (1,0)
+-3 `quotRem` -2 = (1,-1)
+-3 `quotRem` -1 = (3,0)
+-3 `quotRem` 1 = (-3,0)
+-3 `quotRem` 2 = (-1,-1)
+-3 `quotRem` 3 = (-1,0)
+
+-2 `quotRem` -3 = (0,-2)
+-2 `quotRem` -2 = (1,0)
+-2 `quotRem` -1 = (2,0)
+-2 `quotRem` 1 = (-2,0)
+-2 `quotRem` 2 = (-1,0)
+-2 `quotRem` 3 = (0,-2)
+
+-1 `quotRem` -3 = (0,-1)
+-1 `quotRem` -2 = (0,-1)
+-1 `quotRem` -1 = (1,0)
+-1 `quotRem` 1 = (-1,0)
+-1 `quotRem` 2 = (0,-1)
+-1 `quotRem` 3 = (0,-1)
+
+0 `quotRem` -3 = (0,0)
+0 `quotRem` -2 = (0,0)
+0 `quotRem` -1 = (0,0)
+0 `quotRem` 1 = (0,0)
+0 `quotRem` 2 = (0,0)
+0 `quotRem` 3 = (0,0)
+
+1 `quotRem` -3 = (0,1)
+1 `quotRem` -2 = (0,1)
+1 `quotRem` -1 = (-1,0)
+1 `quotRem` 1 = (1,0)
+1 `quotRem` 2 = (0,1)
+1 `quotRem` 3 = (0,1)
+
+2 `quotRem` -3 = (0,2)
+2 `quotRem` -2 = (-1,0)
+2 `quotRem` -1 = (-2,0)
+2 `quotRem` 1 = (2,0)
+2 `quotRem` 2 = (1,0)
+2 `quotRem` 3 = (0,2)
+
+3 `quotRem` -3 = (-1,0)
+3 `quotRem` -2 = (-1,1)
+3 `quotRem` -1 = (-3,0)
+3 `quotRem` 1 = (3,0)
+3 `quotRem` 2 = (1,1)
+3 `quotRem` 3 = (1,0)
+
+#
+-3 `quot` -3 = 1
+-3 `quot` -2 = 1
+-3 `quot` -1 = 3
+-3 `quot` 1 = -3
+-3 `quot` 2 = -1
+-3 `quot` 3 = -1
+
+-2 `quot` -3 = 0
+-2 `quot` -2 = 1
+-2 `quot` -1 = 2
+-2 `quot` 1 = -2
+-2 `quot` 2 = -1
+-2 `quot` 3 = 0
+
+-1 `quot` -3 = 0
+-1 `quot` -2 = 0
+-1 `quot` -1 = 1
+-1 `quot` 1 = -1
+-1 `quot` 2 = 0
+-1 `quot` 3 = 0
+
+0 `quot` -3 = 0
+0 `quot` -2 = 0
+0 `quot` -1 = 0
+0 `quot` 1 = 0
+0 `quot` 2 = 0
+0 `quot` 3 = 0
+
+1 `quot` -3 = 0
+1 `quot` -2 = 0
+1 `quot` -1 = -1
+1 `quot` 1 = 1
+1 `quot` 2 = 0
+1 `quot` 3 = 0
+
+2 `quot` -3 = 0
+2 `quot` -2 = -1
+2 `quot` -1 = -2
+2 `quot` 1 = 2
+2 `quot` 2 = 1
+2 `quot` 3 = 0
+
+3 `quot` -3 = -1
+3 `quot` -2 = -1
+3 `quot` -1 = -3
+3 `quot` 1 = 3
+3 `quot` 2 = 1
+3 `quot` 3 = 1
+
+#
+-3 `rem` -3 = 0
+-3 `rem` -2 = -1
+-3 `rem` -1 = 0
+-3 `rem` 1 = 0
+-3 `rem` 2 = -1
+-3 `rem` 3 = 0
+
+-2 `rem` -3 = -2
+-2 `rem` -2 = 0
+-2 `rem` -1 = 0
+-2 `rem` 1 = 0
+-2 `rem` 2 = 0
+-2 `rem` 3 = -2
+
+-1 `rem` -3 = -1
+-1 `rem` -2 = -1
+-1 `rem` -1 = 0
+-1 `rem` 1 = 0
+-1 `rem` 2 = -1
+-1 `rem` 3 = -1
+
+0 `rem` -3 = 0
+0 `rem` -2 = 0
+0 `rem` -1 = 0
+0 `rem` 1 = 0
+0 `rem` 2 = 0
+0 `rem` 3 = 0
+
+1 `rem` -3 = 1
+1 `rem` -2 = 1
+1 `rem` -1 = 0
+1 `rem` 1 = 0
+1 `rem` 2 = 1
+1 `rem` 3 = 1
+
+2 `rem` -3 = 2
+2 `rem` -2 = 0
+2 `rem` -1 = 0
+2 `rem` 1 = 0
+2 `rem` 2 = 0
+2 `rem` 3 = 2
+
+3 `rem` -3 = 0
+3 `rem` -2 = 1
+3 `rem` -1 = 0
+3 `rem` 1 = 0
+3 `rem` 2 = 1
+3 `rem` 3 = 0
+
+#
+--------------------------------
--Testing Int8
--------------------------------
testBounded
@@ -1357,7 +2262,6 @@ isSigned 2 = True
isSigned 3 = True
#
--------------------------------
---------------------------------
--Testing Int16
--------------------------------
testBounded
@@ -2716,7 +3620,6 @@ isSigned 2 = True
isSigned 3 = True
#
--------------------------------
---------------------------------
--Testing Int32
--------------------------------
testBounded
@@ -4075,7 +4978,6 @@ isSigned 2 = True
isSigned 3 = True
#
--------------------------------
---------------------------------
--Testing Word8
--------------------------------
testBounded
@@ -5434,7 +6336,6 @@ isSigned 2 = False
isSigned 3 = False
#
--------------------------------
---------------------------------
--Testing Word16
--------------------------------
testBounded
@@ -6793,7 +7694,6 @@ isSigned 2 = False
isSigned 3 = False
#
--------------------------------
---------------------------------
--Testing Word32
--------------------------------
testBounded
@@ -8151,4 +9051,3 @@ isSigned 1 = False
isSigned 2 = False
isSigned 3 = False
#
---------------------------------
diff --git a/ghc/tests/programs/Makefile b/ghc/tests/programs/Makefile
index 617e589493..9844376884 100644
--- a/ghc/tests/programs/Makefile
+++ b/ghc/tests/programs/Makefile
@@ -1,7 +1,7 @@
TOP = .
include $(TOP)/mk/boilerplate.mk
-NOT_THESE = CVS mk Makefile \
+NOT_THESE = CVS mk Makefile
NOT_THESE += hill_stk_oflow
# Correctly fails to terminate
@@ -9,7 +9,12 @@ NOT_THESE += hill_stk_oflow
NOT_THESE += ipoole_spec_class
# Dialogue style IO
-# areid_pass
+NOT_THESE += areid_pass
+# Old-style I/O
+
+NOT_THESE += north_lias
+# Deliberately causes divide by zero, and
+# we can't catch that yet
SUBDIRS = $(filter-out $(NOT_THESE), $(wildcard *))
diff --git a/ghc/tests/programs/barton-mangler-bug/Basic.hs b/ghc/tests/programs/barton-mangler-bug/Basic.hs
index ad240f8cfe..5b3d054c50 100644
--- a/ghc/tests/programs/barton-mangler-bug/Basic.hs
+++ b/ghc/tests/programs/barton-mangler-bug/Basic.hs
@@ -18,7 +18,13 @@ instance Signal (->) where
data {- (Physical a, Physical b) => -} SignalRep a b =
FunctionRep (a -> b) |
PieceContRep (PieceCont a b)
- deriving (Eq, Show)
+
+instance Eq (SignalRep a b) where
+ (==) a b = error "No equality for SignalRep"
+
+instance Show (SignalRep a b) where
+ show sr = error "No show for SignalRep"
+
instance Signal SignalRep where
mapSignal (FunctionRep f) = mapSignal f
mapSignal (PieceContRep f) = mapSignal f
@@ -64,7 +70,12 @@ data Event =
TimeEvent Float |
FunctionEvent (Float -> Bool) |
BurstEvent Int Event
- deriving (Show)
+
+instance Show Event where
+ show (TimeEvent f) = "TimeEvent " ++ show f
+ show (FunctionEvent _) = "FunctionEvent"
+ show (BurstEvent i e) = "BurstEvent " ++ show i ++ " " ++ show e
+
instance Eq Event where
(TimeEvent x) == (TimeEvent y) = x == y
(BurstEvent i e) == (BurstEvent i' e') = (i' == i) && (e' == e)
diff --git a/ghc/tests/programs/fast2haskell/Word.hs b/ghc/tests/programs/fast2haskell/Word.hs
index 4c7091cdcf..9161622083 100644
--- a/ghc/tests/programs/fast2haskell/Word.hs
+++ b/ghc/tests/programs/fast2haskell/Word.hs
@@ -50,8 +50,8 @@ instance Num Word where
Word x - Word y = case (w2i x) -# (w2i y) of z -> Word (i2w z)
Word x * Word y = case (w2i x) *# (w2i y) of z -> Word (i2w z)
negate (Word x) = case negateInt# (w2i x) of z -> Word (i2w z)
- fromInteger (J# a# s# d#)
- = case integer2Int# a# s# d# of { z# ->
+ fromInteger i
+ = case fromInteger i of { I# z# ->
Word (i2w z#) }
instance Show Word where
diff --git a/ghc/tests/programs/fun_insts/Main.hs b/ghc/tests/programs/fun_insts/Main.hs
index 286154ccb8..fece8c9c47 100644
--- a/ghc/tests/programs/fun_insts/Main.hs
+++ b/ghc/tests/programs/fun_insts/Main.hs
@@ -5,6 +5,9 @@ module Main where
instance (Eq a, Eq b) => Eq (a->b)
+instance Show (a->b) where
+ show f = "<<function>>"
+
instance (Num a, Num b) => Num (a->b) where
f + g = \x -> f x + g x
negate f = \x -> - (f x)
diff --git a/ghc/tests/programs/jeff-bug/AQ.hs b/ghc/tests/programs/jeff-bug/AQ.hs
index 397f96ccfd..ec86a6761c 100644
--- a/ghc/tests/programs/jeff-bug/AQ.hs
+++ b/ghc/tests/programs/jeff-bug/AQ.hs
@@ -150,7 +150,7 @@ iterateQueue q f
update q n f
= do { x <- getQVal q n
- ; setQVal q n $ map f x
+ ; setQVal q n $ fmap f x
}
-------------------------------------------------------------------------
diff --git a/ghc/tests/programs/jeff-bug/BoundedSet.hs b/ghc/tests/programs/jeff-bug/BoundedSet.hs
index 0583ba6f54..b8e8cafb7a 100644
--- a/ghc/tests/programs/jeff-bug/BoundedSet.hs
+++ b/ghc/tests/programs/jeff-bug/BoundedSet.hs
@@ -14,7 +14,7 @@ module BoundedSet
import LazyST
import Prelude hiding (read)
-import List
+import List hiding (insert)
new :: Int -> ST s (BoundedSet s a)
diff --git a/ghc/tests/programs/jeff-bug/Devices.hs b/ghc/tests/programs/jeff-bug/Devices.hs
index 96a2940a2f..fd3366c758 100644
--- a/ghc/tests/programs/jeff-bug/Devices.hs
+++ b/ghc/tests/programs/jeff-bug/Devices.hs
@@ -16,6 +16,7 @@ import LazyST
import Instruction
import Array
+import Monad
import StateArray
import Ix
@@ -109,8 +110,8 @@ fetch (k,f,lim,memory@(range,_)) pc n
buildPCs :: (Word w, Cell c, Register r, Instruction i) =>
w -> (w,w) -> Trans i (c r w) -> Int -> [Trans i (c r w)]
buildPCs k range pctrans n
- = do p <- map getReg $ T.getDstPC pctrans
- pc <- map getVal $ T.getDstPC pctrans
+ = do p <- fmap getReg $ T.getDstPC pctrans
+ pc <- fmap getVal $ T.getDstPC pctrans
let pcs = filter (inRange range) $ take n [pc,pc+k .. ]
return $ map (mkPC range) pcs
`catchEx` []
@@ -138,7 +139,7 @@ instrsFetch n convert initContents pcs
let x = getVal reg
guard $ ispc p
return x
- `catchEx` (error "ugh" ) --$ "getpc " ++ show t)
+ `catchEx` (error "ugh" ) -- $ "getpc " ++ show t)
insertPCs pcs l = lift2 addPCs pcs l
addPCs x y = zipWith addPC x y
addPC pc (Trans d o s l) = Trans d o s (loc pc:l)
@@ -290,7 +291,7 @@ pairRegFile bounds initVals writePorts readPorts
-- I THINK THAT THIS ONE SHOULD GO...
registers src1 src2 p
- = unbundle2 $ map getContents arrResps
+ = unbundle2 $ fmap getContents arrResps
where
(writebackContents,writebackReg) = unbundle2 p
arrResps = stateArray ((minBound,maxBound),[(minBound,maxBound,0)])
diff --git a/ghc/tests/programs/jeff-bug/PreludeSig.hs b/ghc/tests/programs/jeff-bug/PreludeSig.hs
index f2cd6109d6..b54bbbed92 100644
--- a/ghc/tests/programs/jeff-bug/PreludeSig.hs
+++ b/ghc/tests/programs/jeff-bug/PreludeSig.hs
@@ -1,8 +1,9 @@
module PreludeSig where
-import Prelude(Ord,Bool,MonadZero,Int,($),(.))
+import Prelude(Ord,Bool,Int,($),(.))
import qualified Prelude as P
import qualified List
+import Monad
import Signal
-- Begin Signature ----------------------------------------------------
@@ -20,7 +21,7 @@ max :: Ord a => Signal a -> Signal a -> Signal a
min :: Ord a => Signal a -> Signal a -> Signal a
maximum :: Ord a => Signal [a] -> Signal a
minimum :: Ord a => Signal [a] -> Signal a
-filter :: MonadZero c => (a -> Bool) -> Signal (c a) -> Signal (c a)
+filter :: MonadPlus c => (a -> Bool) -> Signal (c a) -> Signal (c a)
partition :: (a -> Bool) -> Signal [a] -> (Signal [a],Signal [a])
fst :: Signal (a,b) -> Signal a
snd :: Signal (a,b) -> Signal b
@@ -44,7 +45,10 @@ maximum = lift1 P.maximum
minimum = lift1 P.minimum
-filter x y = lift1 (P.filter x) y
+filter p y = lift1 filt y
+ where
+ filt m = do { x <- m;
+ if p x then mzero else return x }
partition x y = unbundle2 (lift1 (List.partition x) y )
diff --git a/ghc/tests/programs/jeff-bug/ROB_retire.hs b/ghc/tests/programs/jeff-bug/ROB_retire.hs
index 0080259aa5..b00c78d50b 100644
--- a/ghc/tests/programs/jeff-bug/ROB_retire.hs
+++ b/ghc/tests/programs/jeff-bug/ROB_retire.hs
@@ -12,6 +12,7 @@ import AQ(AQ)
import RAT(RAT)
import DLX
+import Monad
import Utils
diff --git a/ghc/tests/programs/jeff-bug/STEx.hs b/ghc/tests/programs/jeff-bug/STEx.hs
index cb77722b9c..76ed6fb686 100644
--- a/ghc/tests/programs/jeff-bug/STEx.hs
+++ b/ghc/tests/programs/jeff-bug/STEx.hs
@@ -1,5 +1,6 @@
module STEx where
import LazyST
+import Monad
infixl 1 `handle`
@@ -13,7 +14,6 @@ infixl 1 `handle`
{-data STEx s a-}
{-instance Monad (STEx s)-}
-{-instance MonadZero (STEx s)-}
{-instance MonadPlus (STEx s)-}
-- c `handle` x, return x if c raises an exception
@@ -49,13 +49,11 @@ instance Monad (STEx s) where
in z'
Nothing -> return Nothing
-instance MonadZero (STEx s) where
- zero = liftEx zero
-
instance MonadPlus (STEx s) where
- (STEx x) ++ (STEx y) = STEx $ do x' <- x
- y' <- y
- return $ x' ++ y'
+ mzero = liftEx mzero
+ (STEx x) `mplus` (STEx y) = STEx $ do x' <- x
+ y' <- y
+ return $ mplus x' y'
liftST x = STEx $ do {z <- x ; return $ return z}
liftEx x = STEx $ return x
diff --git a/ghc/tests/programs/jeff-bug/Signal.hs b/ghc/tests/programs/jeff-bug/Signal.hs
index 5498a26040..c4b20402bd 100644
--- a/ghc/tests/programs/jeff-bug/Signal.hs
+++ b/ghc/tests/programs/jeff-bug/Signal.hs
@@ -1,4 +1,5 @@
module Signal where
+import Monad
import LazyST
import List
import Random
@@ -212,7 +213,7 @@ instance Integral a => Integral (Signal a) where
(*>=) = lift2 (>=)
(*&&) = lift2 (&&)
(*||) = lift2 (||)
-(*++) = lift2 (++)
+(*++) = lift2 mplus
(*:) = lift2 (:)
data Then = Then
@@ -241,7 +242,7 @@ newtype Signal a = List [a]
deriving Show
instance Functor Signal where
- map f ~(List as) = List (map f as)
+ fmap f ~(List as) = List (map f as)
at ~(List l) n = l!!n
@@ -290,9 +291,11 @@ superscalar f (List input) = List (chop lens output)
------------------------------------------------------------------------
-- Non-determinism
-integers = List . unsafePerformIO . randomIO
+-- integers :: (Integer,Integer) -> Signal Integer
+integers rng = List (unsafePerformIO (do { g <- newStdGen ;
+ return (randomRs rng g) }))
-ints = map toInt . integers . toIntegers
+ints = fmap toInt . integers . toIntegers
where
toIntegers (x,y) = (toInteger x,toInteger y)
diff --git a/ghc/tests/programs/jeff-bug/Trans.hs b/ghc/tests/programs/jeff-bug/Trans.hs
index 29c96c6c43..62cb987d45 100644
--- a/ghc/tests/programs/jeff-bug/Trans.hs
+++ b/ghc/tests/programs/jeff-bug/Trans.hs
@@ -312,7 +312,7 @@ rawHazard (preceeding,following)
filterDst f (Trans d _ _ _) = filter f d
--added 19 Nov
-filterOut f = map (filter $ not . f)
+filterOut f = fmap (filter $ not . f)
fillInCells cells bypassCells
= repCells (\x y -> (not $ isAss y) && cellHazard x y) cells bypassCells
diff --git a/ghc/tests/programs/life_space_leak/Makefile b/ghc/tests/programs/life_space_leak/Makefile
index cc14abc6b2..00783e530d 100644
--- a/ghc/tests/programs/life_space_leak/Makefile
+++ b/ghc/tests/programs/life_space_leak/Makefile
@@ -1,7 +1,7 @@
TOP = ..
include $(TOP)/mk/boilerplate.mk
-SRC_RUNTEST_OPTS += -prescript ./life.test
+SRC_RUNTEST_OPTS += -prescript "./life.test
all :: runtest
diff --git a/ghc/tests/programs/north_lias/Main.lhs b/ghc/tests/programs/north_lias/Main.lhs
index 3f4a4373ac..46c23877b9 100644
--- a/ghc/tests/programs/north_lias/Main.lhs
+++ b/ghc/tests/programs/north_lias/Main.lhs
@@ -17,7 +17,9 @@ used in expressions, but does not determine the characteristics.
> maxInt, minInt :: Int
> maxInt = maxBound
-> minInt = minBound
+> minInt = minBound + 1 -- NOTA BENE: this program does (minInt `rem` (-1)), and
+> -- that gives an exception if minInt = minBound,
+> -- because the result of the division is too big to fit
> main = (initial_checks flp_parms . main_identities flp_parms .
> notification_checks flp_parms) (return ())
@@ -102,20 +104,20 @@ AN element has the form
> | i /= j = showits "Integer operation check number " .
> showit test_number . showits " fails with " .
> showit i . showits " ". showit j . new_line
-> | True = id
+> | True = showits "Integer operation check number " . showit test_number . showits " ok " . new_line
> equal_flp :: (RealFloat a) => (a, a, Int) -> Cont -> Cont
> equal_flp (x, y, test_number)
> | x /= y = showits "Floating point operation check number " .
> showit test_number . showits " fails" . new_line .
> showit x . showits " " . showit y . new_line
-> | True = id
+> | True = showits "Floating operation check number " . showit test_number . showits " ok " . new_line
> test_true :: (Bool, Int) -> Cont -> Cont
> test_true (b, test_number)
> | not b = showits "Predicate number " . showit test_number .
> showits " fails " . showit b . new_line
-> | True = id
+> | True = showits "Predicate number " . showit test_number . showits " ok " . new_line
> -- This procedure checks that sqrt(y*y) = y when y*y is exact
> check_exact_squares :: (RealFloat a) => FloatParms a -> Cont -> Cont
diff --git a/ghc/tests/programs/okeefe_neural/Main.hs b/ghc/tests/programs/okeefe_neural/Main.hs
index 5c6cffa22d..35c5c82b43 100644
--- a/ghc/tests/programs/okeefe_neural/Main.hs
+++ b/ghc/tests/programs/okeefe_neural/Main.hs
@@ -121,7 +121,7 @@ train pats i_h_wt i_h_ch h_o_wt h_o_ch epochs s =
out_err = vscale (vsub out_pat out_act) out_act
hid_err = vscale (vmmul out_err h_o_wt) hid_act
-main = ans
+main = putStrLn (show ans)
where (in1,out1) = head patterns
nin = length in1
nhid = nin
diff --git a/ghc/tests/reader/should_compile/MyList.hi b/ghc/tests/reader/should_compile/MyList.hi
index b92cd0fccc..07777f3648 100644
--- a/ghc/tests/reader/should_compile/MyList.hi
+++ b/ghc/tests/reader/should_compile/MyList.hi
@@ -1,6 +1,5 @@
__interface MyList 1 0 where
+__export MyList MyList{Empty ZCZCZC};
import PrelBase 16 :: addr2Integer 1 foldr 1 int2Integer 1 integer_0 1 integer_1 1 integer_2 1 integer_m1 1;
import PrelPack 15 :: packCStringzh 1 unpackAppendCStringzh 1 unpackCStringzh 1 unpackFoldrCStringzh 1 unpackNByteszh 1;
-__instimport IO ; __instimport PrelAddr ; __instimport PrelArr ; __instimport PrelBounded ; __instimport PrelCCall ; __instimport PrelConc ; __instimport PrelForeign ; __instimport PrelIOBase ; __instimport PrelNum ; __instimport PrelNumExtra ; __instimport PrelStable ; __instimport PrelTup ;
-__export MyList MyList{Empty ZCZCZC};
2 data MyList a = Empty | ZCZCZC (MyList a) (MyList a) ;
diff --git a/ghc/tests/reader/should_compile/read012.stderr b/ghc/tests/reader/should_compile/read012.stderr
index e375ede56f..591ad122e5 100644
--- a/ghc/tests/reader/should_compile/read012.stderr
+++ b/ghc/tests/reader/should_compile/read012.stderr
@@ -1 +1 @@
-ghc: module version changed to 1; reason: no old .hi file
+ghc: module version unchanged at 1
diff --git a/ghc/tests/reader/should_fail/expr001.hs b/ghc/tests/reader/should_fail/expr001.hs
index 49853a74cf..03b34d9776 100644
--- a/ghc/tests/reader/should_fail/expr001.hs
+++ b/ghc/tests/reader/should_fail/expr001.hs
@@ -6,6 +6,7 @@ Date: Wed, 9 Oct 91 17:31:46 BST
OK, I've fixed that little problem by disallowing,
-}
+module Test where
f x = x + if c then 1 else 2
f x = x + 1::Int
diff --git a/ghc/tests/reader/should_fail/expr001.stderr b/ghc/tests/reader/should_fail/expr001.stderr
index 8b8731c8c3..53883ace1a 100644
--- a/ghc/tests/reader/should_fail/expr001.stderr
+++ b/ghc/tests/reader/should_fail/expr001.stderr
@@ -1,13 +1,13 @@
==================== Reader ====================
-module Main where
+module Test where
{- rec -}
f x = x zp (if c then 1 else 2)
f x = x zp 1 :: Int
-expr001.hs:10: Variable not in scope: `c'
+expr001.hs:11: Variable not in scope: `c'
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail001.stderr b/ghc/tests/rename/should_fail/rnfail001.stderr
index 5f6ddc5fc0..1b68fe45da 100644
--- a/ghc/tests/rename/should_fail/rnfail001.stderr
+++ b/ghc/tests/rename/should_fail/rnfail001.stderr
@@ -1,8 +1,7 @@
rnfail001.hs:3:
Conflicting definitions for `x'
- in a pattern
-
+ in a pattern type-signature
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail002.stderr b/ghc/tests/rename/should_fail/rnfail002.stderr
index 75ba87bf76..58f13b735c 100644
--- a/ghc/tests/rename/should_fail/rnfail002.stderr
+++ b/ghc/tests/rename/should_fail/rnfail002.stderr
@@ -4,6 +4,5 @@ rnfail002.hs:4:
defined at rnfail002.hs:5
defined at rnfail002.hs:6
-
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail003.stderr b/ghc/tests/rename/should_fail/rnfail003.stderr
index 61ffb25a6c..04fffdb527 100644
--- a/ghc/tests/rename/should_fail/rnfail003.stderr
+++ b/ghc/tests/rename/should_fail/rnfail003.stderr
@@ -4,6 +4,5 @@ rnfail003.hs:2:
defined at rnfail003.hs:2
defined at rnfail003.hs:4
-
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail004.stderr b/ghc/tests/rename/should_fail/rnfail004.stderr
index 5a256e72ac..50197739e7 100644
--- a/ghc/tests/rename/should_fail/rnfail004.stderr
+++ b/ghc/tests/rename/should_fail/rnfail004.stderr
@@ -7,6 +7,5 @@ rnfail004.hs:7:
Conflicting definitions for `b'
in a binding group
-
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail007.stderr b/ghc/tests/rename/should_fail/rnfail007.stderr
index d3c6a49154..4a25ef3f1e 100644
--- a/ghc/tests/rename/should_fail/rnfail007.stderr
+++ b/ghc/tests/rename/should_fail/rnfail007.stderr
@@ -1,6 +1,5 @@
-rnfail007.hs:3: Module `Main' must include a definition for `main'
-
+rnfail007.hs:3: Variable not in scope: `Main.main'
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail008.stderr b/ghc/tests/rename/should_fail/rnfail008.stderr
index 044582f545..deaaaaa3a5 100644
--- a/ghc/tests/rename/should_fail/rnfail008.stderr
+++ b/ghc/tests/rename/should_fail/rnfail008.stderr
@@ -1,6 +1,5 @@
rnfail008.hs:18: Variable not in scope: `op3'
-
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail009.stderr b/ghc/tests/rename/should_fail/rnfail009.stderr
index 066aaef0c0..dd67a9fe0e 100644
--- a/ghc/tests/rename/should_fail/rnfail009.stderr
+++ b/ghc/tests/rename/should_fail/rnfail009.stderr
@@ -4,6 +4,5 @@ rnfail009.hs:1:
defined at rnfail009.hs:3
defined at rnfail009.hs:5
-
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail010.stderr b/ghc/tests/rename/should_fail/rnfail010.stderr
index 2137a44790..12e987c892 100644
--- a/ghc/tests/rename/should_fail/rnfail010.stderr
+++ b/ghc/tests/rename/should_fail/rnfail010.stderr
@@ -4,6 +4,5 @@ rnfail010.hs:2:
defined at rnfail010.hs:2
defined at rnfail010.hs:6
-
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail011.stderr b/ghc/tests/rename/should_fail/rnfail011.stderr
index 5bae7600f5..3b6fe95d1c 100644
--- a/ghc/tests/rename/should_fail/rnfail011.stderr
+++ b/ghc/tests/rename/should_fail/rnfail011.stderr
@@ -4,6 +4,5 @@ rnfail011.hs:2:
defined at rnfail011.hs:2
defined at rnfail011.hs:6
-
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail012.stderr b/ghc/tests/rename/should_fail/rnfail012.stderr
index 0f5e86f02f..cd668c8d34 100644
--- a/ghc/tests/rename/should_fail/rnfail012.stderr
+++ b/ghc/tests/rename/should_fail/rnfail012.stderr
@@ -4,6 +4,5 @@ rnfail012.hs:2:
defined at rnfail012.hs:3
defined at rnfail012.hs:9
-
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail013.stderr b/ghc/tests/rename/should_fail/rnfail013.stderr
index 2e7f52a46a..f3079f58bb 100644
--- a/ghc/tests/rename/should_fail/rnfail013.stderr
+++ b/ghc/tests/rename/should_fail/rnfail013.stderr
@@ -4,6 +4,5 @@ rnfail013.hs:3:
defined at rnfail013.hs:7
defined at rnfail013.hs:9
-
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail014.stderr b/ghc/tests/rename/should_fail/rnfail014.stderr
index ed49f1d02e..30d68e94a4 100644
--- a/ghc/tests/rename/should_fail/rnfail014.stderr
+++ b/ghc/tests/rename/should_fail/rnfail014.stderr
@@ -1,34 +1,18 @@
rnfail014.hs:9:
- The constraint `Eq a' does not mention any of
- the universally quantified type variables {}
- of the type `Eq Bool'
- In the type signature for an instance decl
-
-rnfail014.hs:9:
- The constraint `Eq a'
- mentions type variables that do not appear in the type
- `Eq Bool'
+ None of the type variable(s) in the constraint `Eq a'
+ appears in the type `Eq Bool'
In the type signature for an instance decl
rnfail014.hs:12:
- The constraint `Eq a' does not mention any of
- the universally quantified type variables {}
- of the type `Int -> Int'
- In the type signature for `f'
-
-rnfail014.hs:12:
- The constraint `Eq a'
- mentions type variables that do not appear in the type
- `Int -> Int'
+ None of the type variable(s) in the constraint `Eq a'
+ appears in the type `Int -> Int'
In the type signature for `f'
rnfail014.hs:17:
- The constraint `Eq a' does not mention any of
- the universally quantified type variables {}
- of the type `a -> a'
+ None of the type variable(s) in the constraint `Eq a'
+ appears in the type `a -> a'
In the type signature for `op'
-
Compilation had errors
diff --git a/ghc/tests/rename/should_fail/rnfail015.stderr b/ghc/tests/rename/should_fail/rnfail015.stderr
index 184c750393..1cb559f5a3 100644
--- a/ghc/tests/rename/should_fail/rnfail015.stderr
+++ b/ghc/tests/rename/should_fail/rnfail015.stderr
@@ -3,6 +3,5 @@ rnfail015.hs:9:
Conflicting definitions for `TokLiteral'
in the data type declaration for `Token'
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_compile/tc001.stderr b/ghc/tests/typecheck/should_compile/tc001.stderr
index 8763364fbb..037caa18ca 100644
--- a/ghc/tests/typecheck/should_compile/tc001.stderr
+++ b/ghc/tests/typecheck/should_compile/tc001.stderr
@@ -1,3 +1,3 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed a;
-1 a :: __forall [a] => {PrelBase.Num a} -> a -> a ;
+1 a :: __forall [a] => {PrelNum.Num a} -> a -> a ;
diff --git a/ghc/tests/typecheck/should_compile/tc005.stderr b/ghc/tests/typecheck/should_compile/tc005.stderr
index e18dd0f1b0..1e957b8219 100644
--- a/ghc/tests/typecheck/should_compile/tc005.stderr
+++ b/ghc/tests/typecheck/should_compile/tc005.stderr
@@ -1,3 +1,3 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed g;
-1 g :: __forall [t t1] => {PrelBase.Num t1} -> ([t1], t) -> t1 ;
+1 g :: __forall [t t1] => {PrelNum.Num t1} -> ([t1], t) -> t1 ;
diff --git a/ghc/tests/typecheck/should_compile/tc008.stderr b/ghc/tests/typecheck/should_compile/tc008.stderr
index e2c095d5c9..246a6674e7 100644
--- a/ghc/tests/typecheck/should_compile/tc008.stderr
+++ b/ghc/tests/typecheck/should_compile/tc008.stderr
@@ -1,3 +1,3 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed n;
-1 n :: __forall [t] => {PrelBase.Num t} -> PrelBase.Bool -> t ;
+1 n :: __forall [t] => {PrelNum.Num t} -> PrelBase.Bool -> t ;
diff --git a/ghc/tests/typecheck/should_compile/tc009.stderr b/ghc/tests/typecheck/should_compile/tc009.stderr
index 2b9b12048c..2ce12af92d 100644
--- a/ghc/tests/typecheck/should_compile/tc009.stderr
+++ b/ghc/tests/typecheck/should_compile/tc009.stderr
@@ -1,3 +1,3 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed o;
-1 o :: __forall [a] => {PrelBase.Num a} -> (PrelBase.Bool, a) -> a ;
+1 o :: __forall [a] => {PrelNum.Num a} -> (PrelBase.Bool, a) -> a ;
diff --git a/ghc/tests/typecheck/should_compile/tc034.stderr b/ghc/tests/typecheck/should_compile/tc034.stderr
index 1fddd61722..ff8612fcd5 100644
--- a/ghc/tests/typecheck/should_compile/tc034.stderr
+++ b/ghc/tests/typecheck/should_compile/tc034.stderr
@@ -1,5 +1,5 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed AList{ANull ANode} IntList g;
1 data AList a = ANull | ANode a (AList a) ;
-1 g :: __forall [t] => {PrelBase.Num t} -> AList PrelBase.Bool -> t ;
+1 g :: __forall [t] => {PrelNum.Num t} -> AList PrelBase.Bool -> t ;
1 type IntList = AList PrelBase.Int ;
diff --git a/ghc/tests/typecheck/should_compile/tc038.stderr b/ghc/tests/typecheck/should_compile/tc038.stderr
index e8da6c2976..3eccaf215f 100644
--- a/ghc/tests/typecheck/should_compile/tc038.stderr
+++ b/ghc/tests/typecheck/should_compile/tc038.stderr
@@ -1,3 +1,3 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed f;
-1 f :: __forall [a] => {PrelBase.Num a} -> {PrelBase.Eq a} -> [a] -> [a] ;
+1 f :: __forall [a] => {PrelNum.Num a} -> {PrelBase.Eq a} -> [a] -> [a] ;
diff --git a/ghc/tests/typecheck/should_compile/tc048.stderr b/ghc/tests/typecheck/should_compile/tc048.stderr
index 4a33211e26..c3f5a8da27 100644
--- a/ghc/tests/typecheck/should_compile/tc048.stderr
+++ b/ghc/tests/typecheck/should_compile/tc048.stderr
@@ -1,9 +1,9 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed AFE{MkAFE} FG{MkFG} OL{MkOL} mAp ranAFE ranOAL sNd;
-1 data AFE n a b = MkAFE (OL (n, FG a b)) ;
-1 data FG a b = MkFG (OL (a, b)) ;
+1 data AFE n a b = MkAFE (OL (n, FG a b)) ;
+1 data FG a b = MkFG (OL (a, b)) ;
1 data OL a = MkOL [a] ;
1 mAp :: __forall [t t1] => (t -> t1) -> [t] -> [t1] ;
-1 ranAFE :: __forall [n a b] => AFE n a b -> [FG a b] ;
-1 ranOAL :: __forall [a v] => OL (a, v) -> [v] ;
+1 ranAFE :: __forall [n a b] => AFE n a b -> [FG a b] ;
+1 ranOAL :: __forall [a v] => OL (a, v) -> [v] ;
1 sNd :: __forall [t t1] => (t, t1) -> t1 ;
diff --git a/ghc/tests/typecheck/should_compile/tc049.stderr b/ghc/tests/typecheck/should_compile/tc049.stderr
index dc06f59110..1cb829d182 100644
--- a/ghc/tests/typecheck/should_compile/tc049.stderr
+++ b/ghc/tests/typecheck/should_compile/tc049.stderr
@@ -1,6 +1,6 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed fib main1 main2 main3 mem mem1 mem2 mem3 mem4 oR oR1;
-1 fib :: __forall [a] => {PrelBase.Num a} -> {PrelBase.Ord a} -> a -> a ;
+1 fib :: __forall [a] => {PrelNum.Num a} -> {PrelBase.Ord a} -> a -> a ;
1 main1 :: PrelBase.Bool ;
1 main2 :: PrelBase.Bool ;
1 main3 :: PrelBase.Bool ;
diff --git a/ghc/tests/typecheck/should_compile/tc050.stderr b/ghc/tests/typecheck/should_compile/tc050.stderr
index 3d24f91e32..391ae0fce0 100644
--- a/ghc/tests/typecheck/should_compile/tc050.stderr
+++ b/ghc/tests/typecheck/should_compile/tc050.stderr
@@ -4,6 +4,6 @@ instance {Foo PrelBase.Bool} = zdfFooBool;
instance {Foo PrelBase.Int} = zdfFooInt;
1 class Foo a where {o_and :: a -> a -> a} ;
1 f :: __forall [t] => PrelBase.Bool -> t -> PrelBase.Bool ;
-1 g :: __forall [t a] => {PrelBase.Num a} -> {Foo a} -> a -> t -> a ;
+1 g :: __forall [t a] => {PrelNum.Num a} -> {Foo a} -> a -> t -> a ;
1 zdfFooBool :: {Foo PrelBase.Bool} ;
1 zdfFooInt :: {Foo PrelBase.Int} ;
diff --git a/ghc/tests/typecheck/should_compile/tc052.stderr b/ghc/tests/typecheck/should_compile/tc052.stderr
index fb1ffea0a8..6c5d6fc7de 100644
--- a/ghc/tests/typecheck/should_compile/tc052.stderr
+++ b/ghc/tests/typecheck/should_compile/tc052.stderr
@@ -1,5 +1,5 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed A B C;
-1 type A a = B a ;
+1 type A a = B a ;
1 type B c = C ;
1 type C = PrelBase.Int ;
diff --git a/ghc/tests/typecheck/should_compile/tc053.stderr b/ghc/tests/typecheck/should_compile/tc053.stderr
index 8618c30af2..6fe016381b 100644
--- a/ghc/tests/typecheck/should_compile/tc053.stderr
+++ b/ghc/tests/typecheck/should_compile/tc053.stderr
@@ -3,6 +3,6 @@ __export ShouldSucceed Eqzq{deq} f;
instance {Eqzq PrelBase.Int} = zdfEqzqInt;
instance __forall [a] => {Eqzq a} -> {Eqzq [a]} = zdfEqzqZMZN;
1 class Eqzq a where {deq :: a -> a -> PrelBase.Bool} ;
-1 f :: __forall [t] => {PrelBase.Num t} -> {Eqzq [t]} -> [t] -> PrelBase.Bool ;
+1 f :: __forall [t] => {PrelNum.Num t} -> {Eqzq [t]} -> [t] -> PrelBase.Bool ;
1 zdfEqzqInt :: {Eqzq PrelBase.Int} ;
1 zdfEqzqZMZN :: __forall [a] => {Eqzq a} -> {Eqzq [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc054.stderr b/ghc/tests/typecheck/should_compile/tc054.stderr
index a889e1ced2..ee2f112abf 100644
--- a/ghc/tests/typecheck/should_compile/tc054.stderr
+++ b/ghc/tests/typecheck/should_compile/tc054.stderr
@@ -4,6 +4,6 @@ instance {Eqzq PrelBase.Int} = zdfEqzqInt;
instance {Ordzq PrelBase.Int} = zdfOrdzqInt;
1 class Eqzq a where {doubleeq :: a -> a -> PrelBase.Bool} ;
1 class {Eqzq a} => Ordzq a where {lt :: a -> a -> PrelBase.Bool} ;
-1 f :: __forall [t a] => {PrelBase.Num a} -> {Ordzq a} -> a -> t -> PrelBase.Bool ;
+1 f :: __forall [t a] => {PrelNum.Num a} -> {Ordzq a} -> a -> t -> PrelBase.Bool ;
1 zdfEqzqInt :: {Eqzq PrelBase.Int} ;
1 zdfOrdzqInt :: {Ordzq PrelBase.Int} ;
diff --git a/ghc/tests/typecheck/should_compile/tc056.stderr b/ghc/tests/typecheck/should_compile/tc056.stderr
index 61998cc0a3..40c11083fc 100644
--- a/ghc/tests/typecheck/should_compile/tc056.stderr
+++ b/ghc/tests/typecheck/should_compile/tc056.stderr
@@ -8,6 +8,6 @@ instance {Eqzq PrelBase.Int} = zdfEqzqInt;
instance __forall [a] => {Eqzq a} -> {Eqzq a} -> {Eqzq [a]} = zdfEqzqZMZN;
1 class Eqzq a where {doubleeq :: a -> a -> PrelBase.Bool} ;
1 class {Eqzq a} => Ordzq a where {lt :: a -> a -> PrelBase.Bool} ;
-1 f :: __forall [t t1] => {PrelBase.Num t1} -> {Eqzq [t1]} -> [t1] -> t -> PrelBase.Bool ;
+1 f :: __forall [t t1] => {PrelNum.Num t1} -> {Eqzq [t1]} -> [t1] -> t -> PrelBase.Bool ;
1 zdfEqzqInt :: {Eqzq PrelBase.Int} ;
1 zdfEqzqZMZN :: __forall [a] => {Eqzq a} -> {Eqzq [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc058.stderr b/ghc/tests/typecheck/should_compile/tc058.stderr
index 74a990a4d1..6ab1040961 100644
--- a/ghc/tests/typecheck/should_compile/tc058.stderr
+++ b/ghc/tests/typecheck/should_compile/tc058.stderr
@@ -5,7 +5,7 @@ instance __forall [a] => {Eq2 a} -> {Ord2 a} -> {Eq2 [a]} = zdfEq2ZMZN;
instance {Ord2 PrelBase.Int} = zdfOrd2Int;
1 class Eq2 a where {doubleeq :: a -> a -> PrelBase.Bool} ;
1 class {Eq2 a} => Ord2 a where {lt :: a -> a -> PrelBase.Bool} ;
-1 f :: __forall [t t1] => {PrelBase.Num t1} -> {Eq2 [t1]} -> [t1] -> t -> PrelBase.Bool ;
+1 f :: __forall [t t1] => {PrelNum.Num t1} -> {Eq2 [t1]} -> [t1] -> t -> PrelBase.Bool ;
1 zdfEq2Int :: {Eq2 PrelBase.Int} ;
1 zdfEq2ZMZN :: __forall [a] => {Eq2 a} -> {Ord2 a} -> {Eq2 [a]} ;
1 zdfOrd2Int :: {Ord2 PrelBase.Int} ;
diff --git a/ghc/tests/typecheck/should_compile/tc059.stderr b/ghc/tests/typecheck/should_compile/tc059.stderr
index acab588619..5372979e59 100644
--- a/ghc/tests/typecheck/should_compile/tc059.stderr
+++ b/ghc/tests/typecheck/should_compile/tc059.stderr
@@ -3,6 +3,6 @@ __export ShouldSucceed Eq2{foo deq} f;
instance {Eq2 PrelBase.Int} = zdfEq2Int;
instance __forall [a] => {Eq2 a} -> {Eq2 [a]} = zdfEq2ZMZN;
1 class Eq2 a where {foo :: a -> a; deq :: a -> a -> PrelBase.Bool} ;
-1 f :: __forall [t] => {PrelBase.Num t} -> {Eq2 [t]} -> [t] -> PrelBase.Bool ;
+1 f :: __forall [t] => {PrelNum.Num t} -> {Eq2 [t]} -> [t] -> PrelBase.Bool ;
1 zdfEq2Int :: {Eq2 PrelBase.Int} ;
1 zdfEq2ZMZN :: __forall [a] => {Eq2 a} -> {Eq2 [a]} ;
diff --git a/ghc/tests/typecheck/should_compile/tc063.stderr b/ghc/tests/typecheck/should_compile/tc063.stderr
index 6ef53ae2dc..db2cef51d5 100644
--- a/ghc/tests/typecheck/should_compile/tc063.stderr
+++ b/ghc/tests/typecheck/should_compile/tc063.stderr
@@ -1,9 +1,9 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed Reps{f} X{Tag} g;
instance {Reps PrelBase.Bool} = zdfRepsBool;
-instance __forall [q] => {Reps (X q)} = zdfRepsX;
+instance __forall [q] => {Reps (X q)} = zdfRepsX;
1 class Reps r where {f :: r -> r -> r} ;
1 data X a = Tag a ;
1 g :: __forall [r] => {Reps r} -> r -> r ;
1 zdfRepsBool :: {Reps PrelBase.Bool} ;
-1 zdfRepsX :: __forall [q] => {Reps (X q)} ;
+1 zdfRepsX :: __forall [q] => {Reps (X q)} ;
diff --git a/ghc/tests/typecheck/should_compile/tc065.hs b/ghc/tests/typecheck/should_compile/tc065.hs
index 1cc308eee9..8ea71eec9d 100644
--- a/ghc/tests/typecheck/should_compile/tc065.hs
+++ b/ghc/tests/typecheck/should_compile/tc065.hs
@@ -1,6 +1,6 @@
module ShouldSucceed where
-import TheUtils
+-- import TheUtils
import Set
import List (partition )
diff --git a/ghc/tests/typecheck/should_compile/tc068.stderr b/ghc/tests/typecheck/should_compile/tc068.stderr
index 080ebff082..235416f355 100644
--- a/ghc/tests/typecheck/should_compile/tc068.stderr
+++ b/ghc/tests/typecheck/should_compile/tc068.stderr
@@ -1,8 +1,8 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed B{X Y} T{D C};
-instance __forall [b] => {PrelBase.Eq b} -> {PrelBase.Eq (B b)} = zdfEqB;
-instance __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (T a)} = zdfEqT;
+instance __forall [b] => {PrelBase.Eq b} -> {PrelBase.Eq (B b)} = zdfEqB;
+instance __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (T a)} = zdfEqT;
1 data B b = X | Y b ;
-1 data T a = D (B a) | C ;
-1 zdfEqB :: __forall [b] => {PrelBase.Eq b} -> {PrelBase.Eq (B b)} ;
-1 zdfEqT :: __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (T a)} ;
+1 data T a = D (B a) | C ;
+1 zdfEqB :: __forall [b] => {PrelBase.Eq b} -> {PrelBase.Eq (B b)} ;
+1 zdfEqT :: __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (T a)} ;
diff --git a/ghc/tests/typecheck/should_compile/tc074.stderr b/ghc/tests/typecheck/should_compile/tc074.stderr
index 080ebff082..235416f355 100644
--- a/ghc/tests/typecheck/should_compile/tc074.stderr
+++ b/ghc/tests/typecheck/should_compile/tc074.stderr
@@ -1,8 +1,8 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed B{X Y} T{D C};
-instance __forall [b] => {PrelBase.Eq b} -> {PrelBase.Eq (B b)} = zdfEqB;
-instance __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (T a)} = zdfEqT;
+instance __forall [b] => {PrelBase.Eq b} -> {PrelBase.Eq (B b)} = zdfEqB;
+instance __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (T a)} = zdfEqT;
1 data B b = X | Y b ;
-1 data T a = D (B a) | C ;
-1 zdfEqB :: __forall [b] => {PrelBase.Eq b} -> {PrelBase.Eq (B b)} ;
-1 zdfEqT :: __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (T a)} ;
+1 data T a = D (B a) | C ;
+1 zdfEqB :: __forall [b] => {PrelBase.Eq b} -> {PrelBase.Eq (B b)} ;
+1 zdfEqT :: __forall [a] => {PrelBase.Eq a} -> {PrelBase.Eq (T a)} ;
diff --git a/ghc/tests/typecheck/should_compile/tc077.stderr b/ghc/tests/typecheck/should_compile/tc077.stderr
index 54d30b4a9a..a889edf3da 100644
--- a/ghc/tests/typecheck/should_compile/tc077.stderr
+++ b/ghc/tests/typecheck/should_compile/tc077.stderr
@@ -1,5 +1,5 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed EQ{zezeze} NUM{ONE TWO} ORD;
-1 class {ORD a, PrelBase.Show a} => EQ a where {zezeze :: a -> a -> PrelBase.Bool} ;
-1 class {PrelBase.Num a} => ORD a ;
+1 class {ORD a, PrelShow.Show a} => EQ a where {zezeze :: a -> a -> PrelBase.Bool} ;
+1 class {PrelNum.Num a} => ORD a ;
1 data NUM = ONE | TWO ;
diff --git a/ghc/tests/typecheck/should_compile/tc081.stderr b/ghc/tests/typecheck/should_compile/tc081.stderr
index 4831739631..99f69aacb1 100644
--- a/ghc/tests/typecheck/should_compile/tc081.stderr
+++ b/ghc/tests/typecheck/should_compile/tc081.stderr
@@ -1,5 +1,5 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed f f2 f3;
-1 f :: __forall [a] => {PrelBase.Ord a} -> {PrelBase.Num a} -> a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;
-1 f2 :: __forall [a] => {PrelBase.Ord a} -> {PrelBase.Num a} -> a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;
-1 f3 :: __forall [a] => {PrelBase.Ord a} -> {PrelBase.Num a} -> a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;
+1 f :: __forall [a] => {PrelBase.Ord a} -> {PrelNum.Num a} -> a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;
+1 f2 :: __forall [a] => {PrelBase.Ord a} -> {PrelNum.Num a} -> a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;
+1 f3 :: __forall [a] => {PrelBase.Ord a} -> {PrelNum.Num a} -> a -> (a, PrelBase.Bool, [PrelBase.Bool], [PrelBase.Char]) ;
diff --git a/ghc/tests/typecheck/should_compile/tc084.stderr b/ghc/tests/typecheck/should_compile/tc084.stderr
index 1a659a387b..93226ea14d 100644
--- a/ghc/tests/typecheck/should_compile/tc084.stderr
+++ b/ghc/tests/typecheck/should_compile/tc084.stderr
@@ -1,5 +1,5 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed f g h;
1 f :: __forall [b] => PrelBase.Int -> b -> PrelBase.Int ;
-1 g :: __forall [a b] => {PrelBase.Num a} -> PrelBase.Bool -> a -> b -> a ;
+1 g :: __forall [a b] => {PrelNum.Num a} -> PrelBase.Bool -> a -> b -> a ;
1 h :: __forall [b] => b -> PrelBase.Int -> PrelBase.Int ;
diff --git a/ghc/tests/typecheck/should_compile/tc087.stderr b/ghc/tests/typecheck/should_compile/tc087.stderr
index cc7e6a92e8..09f4679a5d 100644
--- a/ghc/tests/typecheck/should_compile/tc087.stderr
+++ b/ghc/tests/typecheck/should_compile/tc087.stderr
@@ -3,8 +3,8 @@ __export ShouldSucceed PriorityQueue{splitMin meld insert single empty} SeqView{
1 check :: __forall [q :: (* -> *)] => {PriorityQueue q} -> (__forall [a] => {PrelBase.Ord a} -> q a) -> PrelIOBase.IO PrelBase.Z0T ;
1 class PriorityQueue q :: (* -> *) where {splitMin :: __forall [a] => {PrelBase.Ord a} -> q a -> SeqView q a; meld :: __forall [a] => {PrelBase.Ord a} -> q a -> q a -> q a; insert = :: __forall [a] => {PrelBase.Ord a} -> a -> q a -> q a; single :: __forall [a] => {PrelBase.Ord a} -> a -> q a; empty :: __forall [a] => {PrelBase.Ord a} -> q a} ;
1 data SeqView t :: (* -> *) a = Null | Cons a (t a) ;
-1 insertMany :: __forall [a q :: (* -> *)] => {PrelBase.Ord a} -> {PriorityQueue q} -> [a] -> q a -> q a ;
-1 out :: __forall [a] => {PrelBase.Num a} -> [a] -> PrelIOBase.IO PrelBase.Z0T ;
+1 insertMany :: __forall [q :: (* -> *) a] => {PrelBase.Ord a} -> {PriorityQueue q} -> [a] -> q a -> q a ;
+1 out :: __forall [a] => {PrelNum.Num a} -> [a] -> PrelIOBase.IO PrelBase.Z0T ;
1 pqSort :: __forall [a t :: (* -> *)] => {PriorityQueue t} -> {PrelBase.Ord a} -> t a -> [a] -> [a] ;
1 toOrderedList :: __forall [t :: (* -> *) a] => {PrelBase.Ord a} -> {PriorityQueue t} -> t a -> [a] ;
1 zddminsert :: __forall [q :: (* -> *)] => {PriorityQueue q} -> (__forall [a] => {PrelBase.Ord a} -> a -> q a -> q a) ;
diff --git a/ghc/tests/typecheck/should_compile/tc088.hs b/ghc/tests/typecheck/should_compile/tc088.hs
index 5423200d1a..ce4b6beab6 100644
--- a/ghc/tests/typecheck/should_compile/tc088.hs
+++ b/ghc/tests/typecheck/should_compile/tc088.hs
@@ -2,6 +2,8 @@
module ShouldSucceed where
+instance Show (a->b)
+
instance (Eq b) => Eq (a -> b) where
(==) f g = error "attempt to compare functions"
diff --git a/ghc/tests/typecheck/should_compile/tc088.stderr b/ghc/tests/typecheck/should_compile/tc088.stderr
index cfbee790fd..0a2be5179d 100644
--- a/ghc/tests/typecheck/should_compile/tc088.stderr
+++ b/ghc/tests/typecheck/should_compile/tc088.stderr
@@ -1,5 +1,7 @@
ghc: module version changed to 1; reason: no old .hi file
instance __forall [a b] => {PrelBase.Eq b} -> {PrelBase.Eq (a -> b)} = zdfEqZLzmzgZR;
-instance __forall [a b] => {PrelBase.Num b} -> {PrelBase.Num (a -> b)} = zdfNumZLzmzgZR;
+instance __forall [a b] => {PrelNum.Num b} -> {PrelNum.Num (a -> b)} = zdfNumZLzmzgZR;
+instance __forall [a b] => {PrelShow.Show (a -> b)} = zdfShowZLzmzgZR;
1 zdfEqZLzmzgZR :: __forall [a b] => {PrelBase.Eq b} -> {PrelBase.Eq (a -> b)} ;
-1 zdfNumZLzmzgZR :: __forall [a b] => {PrelBase.Num b} -> {PrelBase.Eq (a -> b)} -> {PrelBase.Show (a -> b)} -> {PrelBase.Num (a -> b)} ;
+1 zdfNumZLzmzgZR :: __forall [a b] => {PrelNum.Num b} -> {PrelBase.Eq (a -> b)} -> {PrelShow.Show (a -> b)} -> {PrelNum.Num (a -> b)} ;
+1 zdfShowZLzmzgZR :: __forall [a b] => {PrelShow.Show (a -> b)} ;
diff --git a/ghc/tests/typecheck/should_compile/tc093.stderr b/ghc/tests/typecheck/should_compile/tc093.stderr
index 8f5cf27a2d..e888d1a610 100644
--- a/ghc/tests/typecheck/should_compile/tc093.stderr
+++ b/ghc/tests/typecheck/should_compile/tc093.stderr
@@ -2,14 +2,14 @@ ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed St State{State} TS{TS vs} bindState foo unState unitState;
instance {PrelBase.Eq TS} = zdfEqTS;
instance __forall [c] => {PrelBase.Eq c} -> {PrelBase.Monad (State c)} = zdfMonadState;
-instance {PrelBase.Show TS} = zdfShowTS;
+instance {PrelShow.Show TS} = zdfShowTS;
1 bindState :: __forall [c a b] => State c a -> (a -> State c b) -> State c b ;
1 data State c a = State (c -> (a, c)) ;
1 data TS = TS {vs :: PrelBase.Int} ;
-1 foo :: PrelBase.Int -> St PrelBase.Int ;
+1 foo :: PrelBase.Int -> St PrelBase.Int ;
1 type St a = State TS a ;
1 unState :: __forall [c a] => State c a -> c -> (a, c) ;
1 unitState :: __forall [a c] => a -> State c a ;
1 zdfEqTS :: {PrelBase.Eq TS} ;
1 zdfMonadState :: __forall [c] => {PrelBase.Eq c} -> {PrelBase.Monad (State c)} ;
-1 zdfShowTS :: {PrelBase.Show TS} ;
+1 zdfShowTS :: {PrelShow.Show TS} ;
diff --git a/ghc/tests/typecheck/should_compile/tc095.stderr b/ghc/tests/typecheck/should_compile/tc095.stderr
index 68bcaa5e96..db90d1a324 100644
--- a/ghc/tests/typecheck/should_compile/tc095.stderr
+++ b/ghc/tests/typecheck/should_compile/tc095.stderr
@@ -1,12 +1,12 @@
NOTE: Simplifier still going after 4 iterations; bailing out.
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed HappyAbsSyn{HappyTerminal HappyErrorToken HappyAbsSyn1 HappyAbsSyn2 HappyAbsSyn3} HappyState{HappyState} Token{TokenInt TokenVar TokenEq} action_0 action_1 action_2 action_3 action_4 action_5 action_6 happyAccept happyError happyFail happyGoto happyMonadReduce happyNewToken happyParse happyReduce happyReduce_1 happyReduce_2 happyReduce_3 happyReturn happyShift happySpecReduce_0 happySpecReduce_1 happySpecReduce_2 happySpecReduce_3 happyThen main myparser notHappyAtAll;
-instance {PrelBase.Show Token} = zdfShowToken;
-1 action_0 :: __forall [t t1] => {PrelBase.Num t} -> t -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn (t1 -> PrelBase.Double) [(PrelBase.String, t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelBase.Double) -> [HappyState Token ([HappyAbsSyn (t1 -> PrelBase.Double) [(PrelBase.String, t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelBase.Double)] -> [HappyAbsSyn (t1 -> PrelBase.Double) [(PrelBase.String, t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelBase.Double ;
-1 action_1 :: __forall [t t1 t2 t3 b] => {PrelBase.Num t} -> t -> PrelBase.Int -> b -> HappyState b ([HappyAbsSyn t1 t2 t3] -> [Token] -> t1) -> [HappyState b ([HappyAbsSyn t1 t2 t3] -> [Token] -> t1)] -> [HappyAbsSyn t1 t2 t3] -> [Token] -> t1 ;
+instance {PrelShow.Show Token} = zdfShowToken;
+1 action_0 :: __forall [t t1] => {PrelNum.Num t} -> t -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn (t1 -> PrelBase.Double) [(PrelBase.String, t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelBase.Double) -> [HappyState Token ([HappyAbsSyn (t1 -> PrelBase.Double) [(PrelBase.String, t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelBase.Double)] -> [HappyAbsSyn (t1 -> PrelBase.Double) [(PrelBase.String, t1 -> PrelBase.Int)] (t1 -> PrelBase.Int)] -> [Token] -> t1 -> PrelBase.Double ;
+1 action_1 :: __forall [t t1 t2 t3 b] => {PrelNum.Num t} -> t -> PrelBase.Int -> b -> HappyState b ([HappyAbsSyn t1 t2 t3] -> [Token] -> t1) -> [HappyState b ([HappyAbsSyn t1 t2 t3] -> [Token] -> t1)] -> [HappyAbsSyn t1 t2 t3] -> [Token] -> t1 ;
1 action_2 :: __forall [t t1 b t2 t3 t4 t5 t31] => t -> PrelBase.Int -> b -> t2 -> [HappyState b ([HappyAbsSyn (t3 -> PrelBase.Double) [(t4, t3 -> t5)] t31] -> t1)] -> [HappyAbsSyn (t3 -> PrelBase.Double) [(t4, t3 -> t5)] t31] -> t1 ;
-1 action_3 :: __forall [t t1 t11 a] => {PrelBase.Num t} -> t -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a) -> [HappyState Token ([HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a)] -> [HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a ;
-1 action_4 :: __forall [t t1 t11 a] => {PrelBase.Num t} -> t -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a) -> [HappyState Token ([HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a)] -> [HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a ;
+1 action_3 :: __forall [t t1 t11 a] => {PrelNum.Num t} -> t -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a) -> [HappyState Token ([HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a)] -> [HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a ;
+1 action_4 :: __forall [t t1 t11 a] => {PrelNum.Num t} -> t -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a) -> [HappyState Token ([HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a)] -> [HappyAbsSyn t1 [(PrelBase.String, t11 -> PrelBase.Int)] (t11 -> PrelBase.Int)] -> [Token] -> a ;
1 action_5 :: __forall [t t1 b t2 t11 t3] => t -> PrelBase.Int -> b -> t2 -> [HappyState b ([HappyAbsSyn t11 [(PrelBase.String, t3)] t3] -> t1)] -> [HappyAbsSyn t11 [(PrelBase.String, t3)] t3] -> t1 ;
1 action_6 :: __forall [t t1 b t2 t11 t21 t3] => t -> PrelBase.Int -> b -> t2 -> [HappyState b ([HappyAbsSyn t11 t21 (t3 -> PrelBase.Int)] -> t1)] -> [HappyAbsSyn t11 t21 (t3 -> PrelBase.Int)] -> t1 ;
1 data HappyAbsSyn t1 t2 t3 = HappyTerminal Token | HappyErrorToken PrelBase.Int | HappyAbsSyn1 t1 | HappyAbsSyn2 t2 | HappyAbsSyn3 t3 ;
@@ -24,7 +24,7 @@ instance {PrelBase.Show Token} = zdfShowToken;
1 happyReduce_2 :: __forall [t b t1 t11 t3] => PrelBase.Int -> b -> t1 -> [HappyState b ([HappyAbsSyn t11 [(PrelBase.String, t3)] t3] -> t)] -> [HappyAbsSyn t11 [(PrelBase.String, t3)] t3] -> t ;
1 happyReduce_3 :: __forall [t b t1 t11 t2 t21] => PrelBase.Int -> b -> t1 -> [HappyState b ([HappyAbsSyn t11 t2 (t21 -> PrelBase.Int)] -> t)] -> [HappyAbsSyn t11 t2 (t21 -> PrelBase.Int)] -> t ;
1 happyReturn :: __forall [t t1] => t -> t1 -> t ;
-1 happyShift :: __forall [t t1 t2 t3 t11] => {PrelBase.Num t} -> (PrelBase.Int -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn t1 t2 t3] -> [Token] -> t11) -> [HappyState Token ([HappyAbsSyn t1 t2 t3] -> [Token] -> t11)] -> [HappyAbsSyn t1 t2 t3] -> [Token] -> t11) -> t -> Token -> HappyState Token ([HappyAbsSyn t1 t2 t3] -> [Token] -> t11) -> [HappyState Token ([HappyAbsSyn t1 t2 t3] -> [Token] -> t11)] -> [HappyAbsSyn t1 t2 t3] -> [Token] -> t11 ;
+1 happyShift :: __forall [t t1 t2 t3 t11] => {PrelNum.Num t} -> (PrelBase.Int -> PrelBase.Int -> Token -> HappyState Token ([HappyAbsSyn t1 t2 t3] -> [Token] -> t11) -> [HappyState Token ([HappyAbsSyn t1 t2 t3] -> [Token] -> t11)] -> [HappyAbsSyn t1 t2 t3] -> [Token] -> t11) -> t -> Token -> HappyState Token ([HappyAbsSyn t1 t2 t3] -> [Token] -> t11) -> [HappyState Token ([HappyAbsSyn t1 t2 t3] -> [Token] -> t11)] -> [HappyAbsSyn t1 t2 t3] -> [Token] -> t11 ;
1 happySpecReduce_0 :: __forall [t a b] => PrelBase.Int -> t -> PrelBase.Int -> b -> HappyState b ([t] -> [Token] -> a) -> [HappyState b ([t] -> [Token] -> a)] -> [t] -> [Token] -> a ;
1 happySpecReduce_1 :: __forall [t b t1 t2] => PrelBase.Int -> (t1 -> t1) -> PrelBase.Int -> b -> t -> [HappyState b ([t1] -> t2)] -> [t1] -> t2 ;
1 happySpecReduce_2 :: __forall [t b t1 t2] => PrelBase.Int -> (t1 -> t1 -> t1) -> PrelBase.Int -> b -> t -> [HappyState b ([t1] -> t2)] -> [t1] -> t2 ;
@@ -33,4 +33,4 @@ instance {PrelBase.Show Token} = zdfShowToken;
1 main :: PrelIOBase.IO PrelBase.Z0T ;
1 myparser :: __forall [t] => [Token] -> t -> PrelBase.Double ;
1 notHappyAtAll :: __forall [t] => t ;
-1 zdfShowToken :: {PrelBase.Show Token} ;
+1 zdfShowToken :: {PrelShow.Show Token} ;
diff --git a/ghc/tests/typecheck/should_compile/tc098.stderr b/ghc/tests/typecheck/should_compile/tc098.stderr
index 5859c9abb9..2633b80752 100644
--- a/ghc/tests/typecheck/should_compile/tc098.stderr
+++ b/ghc/tests/typecheck/should_compile/tc098.stderr
@@ -1,6 +1,6 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldSucceed Cp cpPairs m mp;
-1 cpPairs :: __forall [j a] => Cp [j] -> (a, [j]) -> (a, [j]) -> PrelBase.Ordering ;
-1 m :: __forall [a] => {PrelBase.Eq a} -> Cp a -> [a] -> a ;
-1 mp :: __forall [j i] => {PrelBase.Eq i} -> {PrelBase.Eq j} -> Cp [j] -> [(i, [j])] -> (i, [j]) ;
+1 cpPairs :: __forall [j a] => Cp [j] -> (a, [j]) -> (a, [j]) -> PrelBase.Ordering ;
+1 m :: __forall [a] => {PrelBase.Eq a} -> Cp a -> [a] -> a ;
+1 mp :: __forall [j i] => {PrelBase.Eq i} -> {PrelBase.Eq j} -> Cp [j] -> [(i, [j])] -> (i, [j]) ;
1 type Cp a = a -> a -> PrelBase.Ordering ;
diff --git a/ghc/tests/typecheck/should_compile/tc100.stderr b/ghc/tests/typecheck/should_compile/tc100.stderr
index 38fcf81087..46f80b1844 100644
--- a/ghc/tests/typecheck/should_compile/tc100.stderr
+++ b/ghc/tests/typecheck/should_compile/tc100.stderr
@@ -1,5 +1,5 @@
ghc: module version changed to 1; reason: no old .hi file
__export ShouldCompile C D{DD} D_;
-1 newtype D a = DD (D_ a) ;
-1 type C a = D a -> a ;
-1 type D_ a = C (PrelMaybe.Maybe a) ;
+1 newtype D a = DD (D_ a) ;
+1 type C a = D a -> a ;
+1 type D_ a = C (PrelMaybe.Maybe a) ;
diff --git a/ghc/tests/typecheck/should_fail/Digraph.stderr b/ghc/tests/typecheck/should_fail/Digraph.stderr
index 4c217aeec7..e9b777447c 100644
--- a/ghc/tests/typecheck/should_fail/Digraph.stderr
+++ b/ghc/tests/typecheck/should_fail/Digraph.stderr
@@ -2,12 +2,12 @@
Digraph.hs:19:
Inferred type is less polymorphic than expected
Quantified type variable `v' escapes
- It unifies with `vertex', which is mentioned in the environment
- The following variables in the environment mention `vertex'
- es :: [Edge vertex]
- vs :: [vertex]
+ It is mentioned in the environment
+ The following variables in the environment mention `v'
+ es :: [Edge v]
+ vs :: [v]
When checking the type signature
- reversed_edges :: forall v1. {Eq v1} => [Edge v1]
+ reversed_edges :: forall v1. (Eq v1) => [Edge v1]
In an equation for function `stronglyConnComp':
stronglyConnComp es vs
= snd (span_tree (new_range reversed_edges)
@@ -30,7 +30,5 @@ Digraph.hs:19:
reversed_edges :: forall v. (Eq v) => [Edge v]
reversed_edges = map swap es
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail001.stderr b/ghc/tests/typecheck/should_fail/tcfail001.stderr
index 376d3a0d06..46a704bf3b 100644
--- a/ghc/tests/typecheck/should_fail/tcfail001.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail001.stderr
@@ -3,8 +3,6 @@ tcfail001.hs:9:
Warning: Duplicate class assertion `A a' in the context:
(A a, A a) => ...
-
-
tcfail001.hs:9:
Couldn't match `[a]' against `t -> t1'
Expected type: [a]
@@ -12,7 +10,5 @@ tcfail001.hs:9:
In an equation for function `op': op [] = []
In the definition for method `op'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail002.stderr b/ghc/tests/typecheck/should_fail/tcfail002.stderr
index 410a1ad05c..9dc37d1443 100644
--- a/ghc/tests/typecheck/should_fail/tcfail002.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail002.stderr
@@ -5,7 +5,5 @@ tcfail002.hs:4:
Inferred type: [t]
In the right-hand side of an equation for `c': z
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail003.stderr b/ghc/tests/typecheck/should_fail/tcfail003.stderr
index 7650b3b6c7..811e2754c2 100644
--- a/ghc/tests/typecheck/should_fail/tcfail003.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail003.stderr
@@ -3,7 +3,5 @@ tcfail003.hs:3:
No instance for `Num Char'
arising from the literal `1' at tcfail003.hs:3
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail004.stderr b/ghc/tests/typecheck/should_fail/tcfail004.stderr
index 66feb42842..459b08c0b0 100644
--- a/ghc/tests/typecheck/should_fail/tcfail004.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail004.stderr
@@ -5,7 +5,5 @@ tcfail004.hs:3:
Inferred type: (t2, t3, t4)
In the right-hand side of a pattern binding: (1, 2, 3)
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail005.stderr b/ghc/tests/typecheck/should_fail/tcfail005.stderr
index 7ed8275d66..258e41d791 100644
--- a/ghc/tests/typecheck/should_fail/tcfail005.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail005.stderr
@@ -5,7 +5,5 @@ tcfail005.hs:3:
Inferred type: (t1, t2)
In the right-hand side of a pattern binding: (1, 'a')
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail006.stderr b/ghc/tests/typecheck/should_fail/tcfail006.stderr
index 9815c5a610..71f71558ec 100644
--- a/ghc/tests/typecheck/should_fail/tcfail006.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail006.stderr
@@ -3,7 +3,5 @@ tcfail006.hs:4:
No instance for `Num Bool'
arising from the literal `1' at tcfail006.hs:4
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail007.stderr b/ghc/tests/typecheck/should_fail/tcfail007.stderr
index b823d9abd8..0dd23484c4 100644
--- a/ghc/tests/typecheck/should_fail/tcfail007.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail007.stderr
@@ -3,7 +3,5 @@ tcfail007.hs:3:
No instance for `Num Bool'
arising from use of `+' at tcfail007.hs:3
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail008.stderr b/ghc/tests/typecheck/should_fail/tcfail008.stderr
index 9b2dee0f72..974fa4af4c 100644
--- a/ghc/tests/typecheck/should_fail/tcfail008.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail008.stderr
@@ -9,7 +9,5 @@ tcfail008.hs:3:
in the constraint `Num t'
arising from the literal `1' at tcfail008.hs:3
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail009.stderr b/ghc/tests/typecheck/should_fail/tcfail009.stderr
index dd3c85e21a..a91cbbbd72 100644
--- a/ghc/tests/typecheck/should_fail/tcfail009.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail009.stderr
@@ -5,7 +5,5 @@ tcfail009.hs:3:
Inferred type: Int
In an expression with a type signature: 2 :: Integer
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail010.stderr b/ghc/tests/typecheck/should_fail/tcfail010.stderr
index affb03e0a2..25fb03f8e9 100644
--- a/ghc/tests/typecheck/should_fail/tcfail010.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail010.stderr
@@ -4,7 +4,5 @@ tcfail010.hs:3:
in the constraint `Num [t]'
arising from use of `+' at tcfail010.hs:3
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail011.stderr b/ghc/tests/typecheck/should_fail/tcfail011.stderr
index d86d2c973f..348dcb2fc2 100644
--- a/ghc/tests/typecheck/should_fail/tcfail011.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail011.stderr
@@ -1,7 +1,5 @@
tcfail011.hs:3: Variable not in scope: `y'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail012.stderr b/ghc/tests/typecheck/should_fail/tcfail012.stderr
index 1bd5c89c6e..ea50af117f 100644
--- a/ghc/tests/typecheck/should_fail/tcfail012.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail012.stderr
@@ -5,7 +5,5 @@ tcfail012.hs:3:
Inferred type: [t]
In the right-hand side of a pattern binding: []
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail013.stderr b/ghc/tests/typecheck/should_fail/tcfail013.stderr
index 429fefc624..cc92015049 100644
--- a/ghc/tests/typecheck/should_fail/tcfail013.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail013.stderr
@@ -6,7 +6,5 @@ tcfail013.hs:4:
In the pattern: True
In an equation for function `f': f True = 2
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail014.stderr b/ghc/tests/typecheck/should_fail/tcfail014.stderr
index 5812e986ab..08b902e5e6 100644
--- a/ghc/tests/typecheck/should_fail/tcfail014.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail014.stderr
@@ -6,7 +6,5 @@ tcfail014.hs:5:
In the first argument of `z', namely `z'
In the right-hand side of an equation for `h': z z
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail015.stderr b/ghc/tests/typecheck/should_fail/tcfail015.stderr
index ab90aa6348..c088740d41 100644
--- a/ghc/tests/typecheck/should_fail/tcfail015.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail015.stderr
@@ -3,7 +3,5 @@ tcfail015.hs:7:
No instance for `Num Bool'
arising from the literal `2' at tcfail015.hs:7
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail016.stderr b/ghc/tests/typecheck/should_fail/tcfail016.stderr
index af0d5f2847..799b9ed067 100644
--- a/ghc/tests/typecheck/should_fail/tcfail016.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail016.stderr
@@ -6,7 +6,5 @@ tcfail016.hs:9:
In the first argument of `g', namely `e1'
In the first argument of `++', namely `(g e1)'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail017.stderr b/ghc/tests/typecheck/should_fail/tcfail017.stderr
index 3ebb93c2b0..7ab93fd684 100644
--- a/ghc/tests/typecheck/should_fail/tcfail017.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail017.stderr
@@ -7,7 +7,5 @@ tcfail017.hs:11:
or missing instance declaration for `C [a]'
When checking the superclasses of an instance declaration
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail018.stderr b/ghc/tests/typecheck/should_fail/tcfail018.stderr
index 565d1e97e9..6dcb28ed28 100644
--- a/ghc/tests/typecheck/should_fail/tcfail018.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail018.stderr
@@ -4,7 +4,5 @@ tcfail018.hs:5:
in the constraint `Num [t]'
arising from the literal `1' at tcfail018.hs:5
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail019.stderr b/ghc/tests/typecheck/should_fail/tcfail019.stderr
index 9eda575a69..00a227f2e1 100644
--- a/ghc/tests/typecheck/should_fail/tcfail019.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail019.stderr
@@ -15,7 +15,5 @@ tcfail019.hs:19:
or missing instance declaration for `B [a]'
When checking the superclasses of an instance declaration
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail020.stderr b/ghc/tests/typecheck/should_fail/tcfail020.stderr
index 78405f701a..c0097501a8 100644
--- a/ghc/tests/typecheck/should_fail/tcfail020.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail020.stderr
@@ -7,7 +7,5 @@ tcfail020.hs:11:
or missing instance declaration for `A [a]'
When checking the superclasses of an instance declaration
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail021.stderr b/ghc/tests/typecheck/should_fail/tcfail021.stderr
index 0d6371ccb1..ffe454472b 100644
--- a/ghc/tests/typecheck/should_fail/tcfail021.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail021.stderr
@@ -3,7 +3,5 @@ tcfail021.hs:8:
Can't handle multiple methods defined by one pattern binding
(==, /=) = (\ x -> \ y -> ..., \ x -> \ y -> ...)
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail023.stderr b/ghc/tests/typecheck/should_fail/tcfail023.stderr
index 47f1cba48f..3e1dc47671 100644
--- a/ghc/tests/typecheck/should_fail/tcfail023.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail023.stderr
@@ -15,7 +15,5 @@ tcfail023.hs:14:
Inferred type: Bool
In the right-hand side of an equation for `op': True
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail027.hs b/ghc/tests/typecheck/should_fail/tcfail027.hs
index b847c06ce6..e01f6961bd 100644
--- a/ghc/tests/typecheck/should_fail/tcfail027.hs
+++ b/ghc/tests/typecheck/should_fail/tcfail027.hs
@@ -1,4 +1,5 @@
-- !!! tests for CycleErr in classes
+module TcFail where
class (B a) => A a where
op1 :: a -> a
diff --git a/ghc/tests/typecheck/should_fail/tcfail027.stderr b/ghc/tests/typecheck/should_fail/tcfail027.stderr
index 806100ba36..cc1e5b16fb 100644
--- a/ghc/tests/typecheck/should_fail/tcfail027.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail027.stderr
@@ -1,10 +1,8 @@
-tcfail027.hs:3:
+tcfail027.hs:2:
Cycle in class declarations:
- `B' at tcfail027.hs:7
- `A' at tcfail027.hs:4
-
-
+ `B' at tcfail027.hs:8
+ `A' at tcfail027.hs:5
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail028.hs b/ghc/tests/typecheck/should_fail/tcfail028.hs
index 3fb22ffb7c..5f9b32c07f 100644
--- a/ghc/tests/typecheck/should_fail/tcfail028.hs
+++ b/ghc/tests/typecheck/should_fail/tcfail028.hs
@@ -1,3 +1,4 @@
-- !!! tests for ArityErr
+module TcFail where
data A a b = B (A a)
diff --git a/ghc/tests/typecheck/should_fail/tcfail028.stderr b/ghc/tests/typecheck/should_fail/tcfail028.stderr
index dbede23e2f..639349533c 100644
--- a/ghc/tests/typecheck/should_fail/tcfail028.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail028.stderr
@@ -1,12 +1,10 @@
-tcfail028.hs:4:
+tcfail028.hs:5:
Couldn't match `Type t' against `k -> *'
Expected kind: Type t
Inferred kind: k -> *
When checking that `A a' is a type
In the newtype declaration for `A'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail029.stderr b/ghc/tests/typecheck/should_fail/tcfail029.stderr
index 3c2874d502..7e83c6d732 100644
--- a/ghc/tests/typecheck/should_fail/tcfail029.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail029.stderr
@@ -2,7 +2,5 @@
tcfail029.hs:6:
No instance for `Ord Foo' arising from use of `>' at tcfail029.hs:6
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail030.hs b/ghc/tests/typecheck/should_fail/tcfail030.hs
index 87f21b26e6..163c727518 100644
--- a/ghc/tests/typecheck/should_fail/tcfail030.hs
+++ b/ghc/tests/typecheck/should_fail/tcfail030.hs
@@ -1 +1,2 @@
-- !!! empty file
+
diff --git a/ghc/tests/typecheck/should_fail/tcfail030.stderr b/ghc/tests/typecheck/should_fail/tcfail030.stderr
index 88a651b8e2..f49ad59747 100644
--- a/ghc/tests/typecheck/should_fail/tcfail030.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail030.stderr
@@ -1,7 +1,5 @@
-tcfail030.hs:0: Module `Main' must include a definition for `main'
-
-
+tcfail030.hs:0: Variable not in scope: `Main.main'
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail031.stderr b/ghc/tests/typecheck/should_fail/tcfail031.stderr
index a8d9781dbc..c1795e5ac1 100644
--- a/ghc/tests/typecheck/should_fail/tcfail031.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail031.stderr
@@ -6,7 +6,5 @@ tcfail031.hs:3:
In the predicate expression: 'a'
In the right-hand side of an equation for `f': if 'a' then 1 else 2
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail032.stderr b/ghc/tests/typecheck/should_fail/tcfail032.stderr
index d8287931ca..0586efe424 100644
--- a/ghc/tests/typecheck/should_fail/tcfail032.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail032.stderr
@@ -5,13 +5,10 @@ tcfail032.hs:14:
It is mentioned in the environment
The following variables in the environment mention `a'
x :: a -> Int
- In an expression with expected type: forall a1.
- {Eq a1} =>
- a1 -> Int
+ In an expression with expected type:
+ forall a1. (Eq a1) => a1 -> Int
In an expression with a type signature:
x :: forall a. (Eq a) => a -> Int
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail033.stderr b/ghc/tests/typecheck/should_fail/tcfail033.stderr
index 3bc5fa549e..e4ed3e61b5 100644
--- a/ghc/tests/typecheck/should_fail/tcfail033.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail033.stderr
@@ -5,7 +5,5 @@ tcfail033.hs:4:
Inferred type: t
In a list-comprehension qualifier: return x
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail034.stderr b/ghc/tests/typecheck/should_fail/tcfail034.stderr
index 42ed8bfae6..8915021621 100644
--- a/ghc/tests/typecheck/should_fail/tcfail034.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail034.stderr
@@ -6,7 +6,5 @@ tcfail034.hs:17:
Probable cause: missing `Integral a' in type signature for `test'
When checking the type signature(s) for `test'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail035.stderr b/ghc/tests/typecheck/should_fail/tcfail035.stderr
index ed219a596b..0e090bdc23 100644
--- a/ghc/tests/typecheck/should_fail/tcfail035.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail035.stderr
@@ -39,13 +39,9 @@ tcfail035.hs:7:
Warning: No explicit method nor default method for `+'
in an instance declaration for `Num'
-
-
tcfail035.hs:3:
Duplicate or overlapping instance declarations
for `Num NUM' at tcfail035.hs:6 and tcfail035.hs:7
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail036.stderr b/ghc/tests/typecheck/should_fail/tcfail036.stderr
index 441b9ff665..91b23df6fb 100644
--- a/ghc/tests/typecheck/should_fail/tcfail036.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail036.stderr
@@ -35,8 +35,6 @@ tcfail036.hs:8:
Warning: No explicit method nor default method for `+'
in an instance declaration for `Num'
-
-
tcfail036.hs:3:
Duplicate or overlapping instance declarations
for `Num NUM' at tcfail036.hs:7 and tcfail036.hs:8
@@ -53,7 +51,5 @@ tcfail036.hs:9:
Class used as a type constructor: Num
When checking kinds in `Eq Num'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail037.stderr b/ghc/tests/typecheck/should_fail/tcfail037.stderr
index ab51ba6f74..d130a2e79d 100644
--- a/ghc/tests/typecheck/should_fail/tcfail037.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail037.stderr
@@ -4,7 +4,5 @@ tcfail037.hs:7:
It could refer to either `+', defined at tcfail037.hs:10
or `Prelude.+', imported from Prelude at tcfail037.hs:3
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail038.stderr b/ghc/tests/typecheck/should_fail/tcfail038.stderr
index d1ca6fd546..b31ade5dca 100644
--- a/ghc/tests/typecheck/should_fail/tcfail038.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail038.stderr
@@ -7,7 +7,5 @@ tcfail038.hs:8:
Conflicting definitions for `/='
in the bindings in an instance declaration
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail039.stderr b/ghc/tests/typecheck/should_fail/tcfail039.stderr
index 35e23def64..97514c6932 100644
--- a/ghc/tests/typecheck/should_fail/tcfail039.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail039.stderr
@@ -4,7 +4,5 @@ tcfail039.hs:11:
It could refer to either `==', defined at tcfail039.hs:7
or `Prelude.==', imported from Prelude at tcfail039.hs:3
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail040.stderr b/ghc/tests/typecheck/should_fail/tcfail040.stderr
index dfcdd4c693..eb774c9a99 100644
--- a/ghc/tests/typecheck/should_fail/tcfail040.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail040.stderr
@@ -4,7 +4,5 @@ tcfail040.hs:19:
in the constraint `ORD a'
arising from use of `<<' at tcfail040.hs:19
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail042.stderr b/ghc/tests/typecheck/should_fail/tcfail042.stderr
index 7e746ccc36..da5c6b1e6b 100644
--- a/ghc/tests/typecheck/should_fail/tcfail042.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail042.stderr
@@ -6,7 +6,5 @@ tcfail042.hs:18:
Probable cause: missing `Num a' in instance declaration context
When checking the superclasses of an instance declaration
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail043.hs b/ghc/tests/typecheck/should_fail/tcfail043.hs
index cc1983be5b..184a4e23bf 100644
--- a/ghc/tests/typecheck/should_fail/tcfail043.hs
+++ b/ghc/tests/typecheck/should_fail/tcfail043.hs
@@ -12,6 +12,7 @@
-- class "Eq_", type "a" (at a use of an overloaded identifier: eq)
+module TcFail where
class Eq_ a where
eq :: a -> a -> Bool
@@ -25,7 +26,7 @@ instance (Eq_ a) => Eq_ [a] where
then (null ys)
else if (null ys)
then False
- else and (eq (hd xs) (hd ys)) (eq (tl xs) (tl ys))
+ else (&&) (eq (hd xs) (hd ys)) (eq (tl xs) (tl ys))
class (Eq_ a) => Ord_ a where
gt :: a -> a -> Bool
@@ -38,8 +39,6 @@ search
then False
else if eq a (hd bs) then True else search a (tl bs)
-and :: Bool -> Bool -> Bool
-and True True = True
hd :: [a] -> a
hd (a:as) = a
@@ -53,8 +52,6 @@ ordIntGt 2 3 = True
eqIntEq :: Int -> Int -> Bool
eqIntEq 2 3 = True
-null :: [a] -> Bool
-null [] = True
diff --git a/ghc/tests/typecheck/should_fail/tcfail043.stderr b/ghc/tests/typecheck/should_fail/tcfail043.stderr
index ac63226a6a..1c54047853 100644
--- a/ghc/tests/typecheck/should_fail/tcfail043.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail043.stderr
@@ -1,35 +1,8 @@
-tcfail043.hs:24:
- Ambiguous occurrence `null'
- It could refer to either `null', defined at tcfail043.hs:57
- or `Prelude.null', imported from Prelude at tcfail043.hs:16
-
-tcfail043.hs:24:
- Ambiguous occurrence `null'
- It could refer to either `null', defined at tcfail043.hs:57
- or `Prelude.null', imported from Prelude at tcfail043.hs:16
-
-tcfail043.hs:26:
- Ambiguous occurrence `null'
- It could refer to either `null', defined at tcfail043.hs:57
- or `Prelude.null', imported from Prelude at tcfail043.hs:16
-
-tcfail043.hs:26:
- Ambiguous occurrence `and'
- It could refer to either `and', defined at tcfail043.hs:42
- or `Prelude.and', imported from Prelude at tcfail043.hs:16
-
-tcfail043.hs:41:
- Ambiguous occurrence `and'
- It could refer to either `and', defined at tcfail043.hs:42
- or `Prelude.and', imported from Prelude at tcfail043.hs:16
-
-tcfail043.hs:56:
- Ambiguous occurrence `null'
- It could refer to either `null', defined at tcfail043.hs:57
- or `Prelude.null', imported from Prelude at tcfail043.hs:16
-
-
+tcfail043.hs:38:
+ Ambiguous type variable(s) `a'
+ in the constraint `Ord_ a'
+ arising from use of `gt' at tcfail043.hs:38
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail044.hs b/ghc/tests/typecheck/should_fail/tcfail044.hs
index a013dd4f5a..b271d0f977 100644
--- a/ghc/tests/typecheck/should_fail/tcfail044.hs
+++ b/ghc/tests/typecheck/should_fail/tcfail044.hs
@@ -3,7 +3,7 @@
module ShouldFail where
instance (Eq a) => Eq (a->a)
-
+instance Show (a->b)
instance (Num a) => Num (a->a) where
f + g = \x -> f x + g x
diff --git a/ghc/tests/typecheck/should_fail/tcfail044.stderr b/ghc/tests/typecheck/should_fail/tcfail044.stderr
index f30e605f51..0fe6b349bd 100644
--- a/ghc/tests/typecheck/should_fail/tcfail044.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail044.stderr
@@ -7,8 +7,6 @@ tcfail044.hs:12:
Warning: No explicit method nor default method for `abs'
in an instance declaration for `Num'
-
-
tcfail044.hs:5:
Illegal instance declaration for `Eq (a -> a)'
(the instance type must be of form (T a b c)
@@ -19,7 +17,5 @@ tcfail044.hs:12:
(the instance type must be of form (T a b c)
where T is not a synonym, and a,b,c are distinct type variables)
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail045.stderr b/ghc/tests/typecheck/should_fail/tcfail045.stderr
index 236911e895..10b23676e5 100644
--- a/ghc/tests/typecheck/should_fail/tcfail045.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail045.stderr
@@ -3,7 +3,5 @@ tcfail045.hs:10:
Unacceptable instance type for ccall-ish class
class CCallable type Socket
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail046.stderr b/ghc/tests/typecheck/should_fail/tcfail046.stderr
index 2f5fe27f2a..9d5307d3bc 100644
--- a/ghc/tests/typecheck/should_fail/tcfail046.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail046.stderr
@@ -3,7 +3,5 @@ tcfail046.hs:4:
No instance for `Eq (Process a)'
When deriving classes for `Message'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail047.stderr b/ghc/tests/typecheck/should_fail/tcfail047.stderr
index 4eb3cca94f..d9b4692171 100644
--- a/ghc/tests/typecheck/should_fail/tcfail047.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail047.stderr
@@ -4,7 +4,5 @@ tcfail047.hs:7:
(the instance type must be of form (T a b c)
where T is not a synonym, and a,b,c are distinct type variables)
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail048.stderr b/ghc/tests/typecheck/should_fail/tcfail048.stderr
index 5b2692450a..11f833d06d 100644
--- a/ghc/tests/typecheck/should_fail/tcfail048.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail048.stderr
@@ -1,7 +1,5 @@
tcfail048.hs:4: Type constructor or class not in scope: `B'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail049.stderr b/ghc/tests/typecheck/should_fail/tcfail049.stderr
index e2e5992eae..1c7f82a4f7 100644
--- a/ghc/tests/typecheck/should_fail/tcfail049.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail049.stderr
@@ -1,7 +1,5 @@
tcfail049.hs:3: Variable not in scope: `g'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail050.stderr b/ghc/tests/typecheck/should_fail/tcfail050.stderr
index f21fbf494f..6f4c224fcd 100644
--- a/ghc/tests/typecheck/should_fail/tcfail050.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail050.stderr
@@ -1,7 +1,5 @@
tcfail050.hs:3: Data constructor not in scope: `B'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail051.stderr b/ghc/tests/typecheck/should_fail/tcfail051.stderr
index ead1fa1326..668c158ec2 100644
--- a/ghc/tests/typecheck/should_fail/tcfail051.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail051.stderr
@@ -3,7 +3,5 @@ tcfail051.hs:4: Type constructor or class not in scope: `B'
tcfail051.hs:4: Variable not in scope: `op1'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail052.stderr b/ghc/tests/typecheck/should_fail/tcfail052.stderr
index 397abcd8cb..cf01d153c9 100644
--- a/ghc/tests/typecheck/should_fail/tcfail052.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail052.stderr
@@ -1,7 +1,5 @@
tcfail052.hs:4: Type variable not in scope: `c'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail053.hs b/ghc/tests/typecheck/should_fail/tcfail053.hs
index 99028ab4c8..d13e606434 100644
--- a/ghc/tests/typecheck/should_fail/tcfail053.hs
+++ b/ghc/tests/typecheck/should_fail/tcfail053.hs
@@ -1,2 +1,3 @@
+module TcFail where
data B = C A
diff --git a/ghc/tests/typecheck/should_fail/tcfail053.stderr b/ghc/tests/typecheck/should_fail/tcfail053.stderr
index baa28f5ef0..327beefd31 100644
--- a/ghc/tests/typecheck/should_fail/tcfail053.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail053.stderr
@@ -1,7 +1,5 @@
-tcfail053.hs:3: Type constructor or class not in scope: `A'
-
-
+tcfail053.hs:4: Type constructor or class not in scope: `A'
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail054.stderr b/ghc/tests/typecheck/should_fail/tcfail054.stderr
index 65477564f7..277623ef3a 100644
--- a/ghc/tests/typecheck/should_fail/tcfail054.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail054.stderr
@@ -1,7 +1,5 @@
tcfail054.hs:3: Data constructor not in scope: `B'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail055.stderr b/ghc/tests/typecheck/should_fail/tcfail055.stderr
index 834f6567e4..0c18a152dd 100644
--- a/ghc/tests/typecheck/should_fail/tcfail055.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail055.stderr
@@ -5,7 +5,5 @@ tcfail055.hs:3:
Inferred type: Float
In an expression with a type signature: x + 1 :: Int
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail056.stderr b/ghc/tests/typecheck/should_fail/tcfail056.stderr
index 1ac293662c..457aed54da 100644
--- a/ghc/tests/typecheck/should_fail/tcfail056.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail056.stderr
@@ -5,7 +5,5 @@ tcfail056.hs:1:
tcfail056.hs:10: Class `Eq' does not have a method `<='
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail057.stderr b/ghc/tests/typecheck/should_fail/tcfail057.stderr
index 15966fae70..163df53016 100644
--- a/ghc/tests/typecheck/should_fail/tcfail057.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail057.stderr
@@ -3,7 +3,5 @@ tcfail057.hs:5:
Class used as a type constructor: RealFrac
When checking kinds in `RealFrac a'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail058.stderr b/ghc/tests/typecheck/should_fail/tcfail058.stderr
index bab93a7cdc..69e4de1cad 100644
--- a/ghc/tests/typecheck/should_fail/tcfail058.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail058.stderr
@@ -3,7 +3,5 @@ tcfail058.hs:6:
Type constructor used as a class: Array
When checking kinds in `Array a'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail061.stderr b/ghc/tests/typecheck/should_fail/tcfail061.stderr
index 362e7a5e88..faa0dca8bd 100644
--- a/ghc/tests/typecheck/should_fail/tcfail061.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail061.stderr
@@ -7,7 +7,5 @@ tcfail061.hs:11: Type variable not in scope: `b'
tcfail061.hs:11: Type variable not in scope: `b'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail062.stderr b/ghc/tests/typecheck/should_fail/tcfail062.stderr
index 2887b6bbe2..f0d6c1c10d 100644
--- a/ghc/tests/typecheck/should_fail/tcfail062.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail062.stderr
@@ -5,7 +5,5 @@ tcfail062.hs:33:
tcfail062.hs:33:
Type variable not in scope: `behaviouralExpression'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail065.stderr b/ghc/tests/typecheck/should_fail/tcfail065.stderr
index 191e08ed5f..2b7b343ced 100644
--- a/ghc/tests/typecheck/should_fail/tcfail065.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail065.stderr
@@ -2,13 +2,13 @@
tcfail065.hs:29:
Inferred type is less polymorphic than expected
Quantified type variable `x' escapes
- It is mentioned in the environment
- The following variables in the environment mention `x'
+ It unifies with `x1', which is mentioned in the environment
+** SLPJ: I HATE THE 'unifies with' PART **
+ The following variables in the environment mention `x1'
+** AND NOTHING MENTIONED! **
When checking the type signature
setX :: forall x2. x2 -> X x1 -> X x1
In the definition for method `setX'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail067.stderr b/ghc/tests/typecheck/should_fail/tcfail067.stderr
index fca214ae22..8cfe0b1d58 100644
--- a/ghc/tests/typecheck/should_fail/tcfail067.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail067.stderr
@@ -7,19 +7,22 @@ tcfail067.hs:65:
Warning: No explicit method nor default method for `abs'
in an instance declaration for `Num'
-
-
tcfail067.hs:65:
Could not deduce `Ord a'
(arising from use of `SubRange' at tcfail067.hs:65)
- from the context: (Num (SubRange a1), Num a1, Eq (SubRange a1), Show (SubRange a1), Eq (SubRange a1), Show (SubRange a1))
+ from the context: (Num (SubRange a),
+ Num a,
+ Eq (SubRange a),
+ Show (SubRange a),
+ Eq (SubRange a),
+ Show (SubRange a))
Probable cause: missing `Ord a' in instance declaration context
When checking the methods of an instance declaration
tcfail067.hs:65:
Could not deduce `Show (SubRange a)'
(arising from an instance declaration at tcfail067.hs:65)
- from the context: (Num a1)
+ from the context: (Num a)
Probable cause: missing `Show (SubRange a)'
in instance declaration context
or missing instance declaration for `Show (SubRange a)'
@@ -33,7 +36,5 @@ tcfail067.hs:74:
in type signature for `numSubRangeBinOp'
When checking the type signature(s) for `numSubRangeBinOp'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail068.stderr b/ghc/tests/typecheck/should_fail/tcfail068.stderr
index 4fea13ff31..ccd2fab361 100644
--- a/ghc/tests/typecheck/should_fail/tcfail068.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail068.stderr
@@ -49,7 +49,5 @@ tcfail068.hs:36:
In the right-hand side of an equation for `itrapstate':
runST (itrapstate' i k s)
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail069.stderr b/ghc/tests/typecheck/should_fail/tcfail069.stderr
index 3ca0c5f829..a3c950dceb 100644
--- a/ghc/tests/typecheck/should_fail/tcfail069.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail069.stderr
@@ -6,7 +6,5 @@ tcfail069.hs:20:
In the scrutinee of a case expression: (list1, list2)
In the case expression: case (list1, list2) of [] -> error "foo"
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail070.hs b/ghc/tests/typecheck/should_fail/tcfail070.hs
index d6cd3d7eab..6cd2a28404 100644
--- a/ghc/tests/typecheck/should_fail/tcfail070.hs
+++ b/ghc/tests/typecheck/should_fail/tcfail070.hs
@@ -10,5 +10,7 @@ panic! (the `impossible' happened):
tlist
-}
+module TcFail where
+
type State = ([Int] Bool)
diff --git a/ghc/tests/typecheck/should_fail/tcfail070.stderr b/ghc/tests/typecheck/should_fail/tcfail070.stderr
index e0736b83fd..6a5d4afc45 100644
--- a/ghc/tests/typecheck/should_fail/tcfail070.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail070.stderr
@@ -1,12 +1,10 @@
-tcfail070.hs:13:
+tcfail070.hs:15:
Couldn't match `*' against `* -> k'
Expected kind: *
Inferred kind: * -> k
When checking kinds in `[Int] Bool'
In the type synonym declaration for `State'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail071.stderr b/ghc/tests/typecheck/should_fail/tcfail071.stderr
index 018379f825..3f711e9c49 100644
--- a/ghc/tests/typecheck/should_fail/tcfail071.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail071.stderr
@@ -1,10 +1,16 @@
tcfail071.hs:8:
- Inferred type is less polymorphic than expected
- Quantified type variable `c' is unified with `a -> [t] -> [t]'
- When checking the type signature g :: forall c1. c1 -> c1
-
+ Mismatched contexts
+ When matching the contexts of the signatures for `f' and `g'
+ (the signature contexts in a mutually recursive group should all be identical)
+tcfail071.hs:10:
+ Cannot unify the type-signature variable `c'
+ with the type `a -> b -> b'
+ Expected type: a -> b -> b
+ Inferred type: c
+ In the first argument of `f', namely `c'
+ In the first argument of `foldr', namely `(f c)'
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail072.stderr b/ghc/tests/typecheck/should_fail/tcfail072.stderr
index ea214e1c49..a54ff9863e 100644
--- a/ghc/tests/typecheck/should_fail/tcfail072.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail072.stderr
@@ -9,7 +9,5 @@ tcfail072.hs:23:
in the constraint `Ord q'
arising from use of `g' at tcfail072.hs:23
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail073.stderr b/ghc/tests/typecheck/should_fail/tcfail073.stderr
index a51978510e..90c9b23df2 100644
--- a/ghc/tests/typecheck/should_fail/tcfail073.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail073.stderr
@@ -1,7 +1,7 @@
tcfail073.hs:3:
Duplicate or overlapping instance declarations
- for `Eq (a, b)' at PrelTup.hi:10 and tcfail073.hs:8
+ for `Eq (a, b)' at PrelTup.hi:5 and tcfail073.hs:8
tcfail073.hs:8:
Could not deduce `Eq a'
@@ -10,7 +10,5 @@ tcfail073.hs:8:
Probable cause: missing `Eq a' in instance declaration context
When checking the methods of an instance declaration
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail074.stderr b/ghc/tests/typecheck/should_fail/tcfail074.stderr
index 9e85e923b6..710193777e 100644
--- a/ghc/tests/typecheck/should_fail/tcfail074.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail074.stderr
@@ -4,7 +4,5 @@ tcfail074.hs:7:
defined at tcfail074.hs:7
defined at tcfail074.hs:8
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail076.stderr b/ghc/tests/typecheck/should_fail/tcfail076.stderr
index c715384aaf..fa1ea953d9 100644
--- a/ghc/tests/typecheck/should_fail/tcfail076.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail076.stderr
@@ -2,16 +2,14 @@
tcfail076.hs:18:
Inferred type is less polymorphic than expected
Quantified type variable `res' escapes
- It unifies with `res1', which is mentioned in the environment
- The following variables in the environment mention `res1'
- cont :: a -> m res1
- In an expression with expected type: forall res2.
- (a1 -> m res2) -> m res2
+ It is mentioned in the environment
+ The following variables in the environment mention `res'
+ cont :: a -> m res
+ In an expression with expected type:
+ forall res1. (a1 -> m1 res1) -> m1 res1
In the first argument of `KContT', namely `(\ cont' -> cont a)'
In the right-hand side of a lambda abstraction:
KContT (\ cont' -> cont a)
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail077.stderr b/ghc/tests/typecheck/should_fail/tcfail077.stderr
index 376d1bfe13..9626bb4378 100644
--- a/ghc/tests/typecheck/should_fail/tcfail077.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail077.stderr
@@ -1,7 +1,5 @@
tcfail077.hs:8: Variable not in scope: `op2'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail078.stderr b/ghc/tests/typecheck/should_fail/tcfail078.stderr
index ffae1f07c3..8002caa38a 100644
--- a/ghc/tests/typecheck/should_fail/tcfail078.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail078.stderr
@@ -3,7 +3,5 @@ tcfail078.hs:5:
Type constructor used as a class: Integer
When checking kinds in `Integer i'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail079.stderr b/ghc/tests/typecheck/should_fail/tcfail079.stderr
index bf3afb4636..7765b82a73 100644
--- a/ghc/tests/typecheck/should_fail/tcfail079.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail079.stderr
@@ -6,7 +6,5 @@ tcfail079.hs:9:
When checking that `Int#' is a type
In the data type declaration for `Unboxed'
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail080.stderr b/ghc/tests/typecheck/should_fail/tcfail080.stderr
index e4d8be9798..dd2eaf2d0c 100644
--- a/ghc/tests/typecheck/should_fail/tcfail080.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail080.stderr
@@ -4,7 +4,5 @@ tcfail080.hs:11:
in the constraint `Collection c a'
arising from use of `isempty' at tcfail080.hs:11
-
-
Compilation had errors
diff --git a/ghc/tests/typecheck/should_fail/tcfail081.stderr b/ghc/tests/typecheck/should_fail/tcfail081.stderr
index c0bbc90c8e..f66b5ecae8 100644
--- a/ghc/tests/typecheck/should_fail/tcfail081.stderr
+++ b/ghc/tests/typecheck/should_fail/tcfail081.stderr
@@ -1,10 +1,9 @@
-tcfail081.hs:4:
- Inferred type is less polymorphic than expected
- Quantified type variable `a' is unified with `IO t'
- When checking the type signature main :: forall a1. a1
-
-
+tcfail081.hs:2:
+ Cannot unify the type-signature variable `a' with the type `IO t'
+ Expected type: IO t
+ Inferred type: a
+ When checking that `main' has the required type
Compilation had errors