From 35e599b596d442e72adb8f0364f223b18dfbb095 Mon Sep 17 00:00:00 2001 From: simonpj Date: Wed, 9 Jun 1999 09:36:25 +0000 Subject: [PATCH] [project @ 1999-06-09 09:35:54 by simonpj] Lots of small fixes to ghc/tests --- ghc/tests/ccall/should_fail/cc001.stderr | 2 +- ghc/tests/ccall/should_fail/cc002.stderr | 2 +- ghc/tests/ccall/should_fail/cc004.stderr | 4 +- ghc/tests/deSugar/should_compile/ds020.stderr | 1 - ghc/tests/deriving/should_fail/drvfail004.stderr | 1 + ghc/tests/deriving/should_fail/drvfail007.stderr | 1 + ghc/tests/lib/should_run/Makefile | 3 +- ghc/tests/lib/should_run/enum01.stdout | 32 +- ghc/tests/lib/should_run/stableptr001.hs | 1 + ghc/tests/lib/should_run/stableptr002.hs | 2 +- ghc/tests/lib/should_run/stableptr003.hs | 2 +- ghc/tests/lib/should_run/text001.hs | 15 + ghc/tests/lib/should_run/text001.stdout | 1 + ghc/tests/numeric/should_run/arith011.hs | 12 +- ghc/tests/numeric/should_run/arith011.stdout | 911 +++++++++++++++++++++- ghc/tests/programs/Makefile | 9 +- ghc/tests/programs/barton-mangler-bug/Basic.hs | 15 +- ghc/tests/programs/fast2haskell/Word.hs | 4 +- ghc/tests/programs/fun_insts/Main.hs | 3 + ghc/tests/programs/jeff-bug/AQ.hs | 2 +- ghc/tests/programs/jeff-bug/BoundedSet.hs | 2 +- ghc/tests/programs/jeff-bug/Devices.hs | 9 +- ghc/tests/programs/jeff-bug/PreludeSig.hs | 10 +- ghc/tests/programs/jeff-bug/ROB_retire.hs | 1 + ghc/tests/programs/jeff-bug/STEx.hs | 12 +- ghc/tests/programs/jeff-bug/Signal.hs | 11 +- ghc/tests/programs/jeff-bug/Trans.hs | 2 +- ghc/tests/programs/life_space_leak/Makefile | 2 +- ghc/tests/programs/north_lias/Main.lhs | 10 +- ghc/tests/programs/okeefe_neural/Main.hs | 2 +- ghc/tests/reader/should_compile/MyList.hi | 3 +- ghc/tests/reader/should_compile/read012.stderr | 2 +- ghc/tests/reader/should_fail/expr001.hs | 1 + ghc/tests/reader/should_fail/expr001.stderr | 4 +- ghc/tests/rename/should_fail/rnfail001.stderr | 3 +- ghc/tests/rename/should_fail/rnfail002.stderr | 1 - ghc/tests/rename/should_fail/rnfail003.stderr | 1 - ghc/tests/rename/should_fail/rnfail004.stderr | 1 - ghc/tests/rename/should_fail/rnfail007.stderr | 3 +- ghc/tests/rename/should_fail/rnfail008.stderr | 1 - ghc/tests/rename/should_fail/rnfail009.stderr | 1 - ghc/tests/rename/should_fail/rnfail010.stderr | 1 - ghc/tests/rename/should_fail/rnfail011.stderr | 1 - ghc/tests/rename/should_fail/rnfail012.stderr | 1 - ghc/tests/rename/should_fail/rnfail013.stderr | 1 - ghc/tests/rename/should_fail/rnfail014.stderr | 28 +- ghc/tests/rename/should_fail/rnfail015.stderr | 1 - ghc/tests/typecheck/should_compile/tc001.stderr | 2 +- ghc/tests/typecheck/should_compile/tc005.stderr | 2 +- ghc/tests/typecheck/should_compile/tc008.stderr | 2 +- ghc/tests/typecheck/should_compile/tc009.stderr | 2 +- ghc/tests/typecheck/should_compile/tc034.stderr | 2 +- ghc/tests/typecheck/should_compile/tc038.stderr | 2 +- ghc/tests/typecheck/should_compile/tc048.stderr | 8 +- ghc/tests/typecheck/should_compile/tc049.stderr | 2 +- ghc/tests/typecheck/should_compile/tc050.stderr | 2 +- ghc/tests/typecheck/should_compile/tc052.stderr | 2 +- ghc/tests/typecheck/should_compile/tc053.stderr | 2 +- ghc/tests/typecheck/should_compile/tc054.stderr | 2 +- ghc/tests/typecheck/should_compile/tc056.stderr | 2 +- ghc/tests/typecheck/should_compile/tc058.stderr | 2 +- ghc/tests/typecheck/should_compile/tc059.stderr | 2 +- ghc/tests/typecheck/should_compile/tc063.stderr | 4 +- ghc/tests/typecheck/should_compile/tc065.hs | 2 +- ghc/tests/typecheck/should_compile/tc068.stderr | 10 +- ghc/tests/typecheck/should_compile/tc074.stderr | 10 +- ghc/tests/typecheck/should_compile/tc077.stderr | 4 +- ghc/tests/typecheck/should_compile/tc081.stderr | 6 +- ghc/tests/typecheck/should_compile/tc084.stderr | 2 +- ghc/tests/typecheck/should_compile/tc087.stderr | 4 +- ghc/tests/typecheck/should_compile/tc088.hs | 2 + ghc/tests/typecheck/should_compile/tc088.stderr | 6 +- ghc/tests/typecheck/should_compile/tc093.stderr | 6 +- ghc/tests/typecheck/should_compile/tc095.stderr | 14 +- ghc/tests/typecheck/should_compile/tc098.stderr | 6 +- ghc/tests/typecheck/should_compile/tc100.stderr | 6 +- ghc/tests/typecheck/should_fail/Digraph.stderr | 12 +- ghc/tests/typecheck/should_fail/tcfail001.stderr | 4 - ghc/tests/typecheck/should_fail/tcfail002.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail003.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail004.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail005.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail006.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail007.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail008.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail009.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail010.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail011.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail012.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail013.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail014.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail015.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail016.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail017.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail018.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail019.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail020.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail021.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail023.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail027.hs | 1 + ghc/tests/typecheck/should_fail/tcfail027.stderr | 8 +- ghc/tests/typecheck/should_fail/tcfail028.hs | 1 + ghc/tests/typecheck/should_fail/tcfail028.stderr | 4 +- ghc/tests/typecheck/should_fail/tcfail029.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail030.hs | 1 + ghc/tests/typecheck/should_fail/tcfail030.stderr | 4 +- ghc/tests/typecheck/should_fail/tcfail031.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail032.stderr | 7 +- ghc/tests/typecheck/should_fail/tcfail033.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail034.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail035.stderr | 4 - ghc/tests/typecheck/should_fail/tcfail036.stderr | 4 - ghc/tests/typecheck/should_fail/tcfail037.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail038.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail039.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail040.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail042.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail043.hs | 7 +- ghc/tests/typecheck/should_fail/tcfail043.stderr | 35 +- ghc/tests/typecheck/should_fail/tcfail044.hs | 2 +- ghc/tests/typecheck/should_fail/tcfail044.stderr | 4 - ghc/tests/typecheck/should_fail/tcfail045.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail046.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail047.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail048.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail049.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail050.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail051.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail052.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail053.hs | 1 + ghc/tests/typecheck/should_fail/tcfail053.stderr | 4 +- ghc/tests/typecheck/should_fail/tcfail054.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail055.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail056.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail057.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail058.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail061.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail062.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail065.stderr | 8 +- ghc/tests/typecheck/should_fail/tcfail067.stderr | 13 +- ghc/tests/typecheck/should_fail/tcfail068.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail069.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail070.hs | 2 + ghc/tests/typecheck/should_fail/tcfail070.stderr | 4 +- ghc/tests/typecheck/should_fail/tcfail071.stderr | 14 +- ghc/tests/typecheck/should_fail/tcfail072.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail073.stderr | 4 +- ghc/tests/typecheck/should_fail/tcfail074.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail076.stderr | 12 +- ghc/tests/typecheck/should_fail/tcfail077.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail078.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail079.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail080.stderr | 2 - ghc/tests/typecheck/should_fail/tcfail081.stderr | 11 +- 154 files changed, 1151 insertions(+), 382 deletions(-) create mode 100644 ghc/tests/lib/should_run/text001.hs create mode 100644 ghc/tests/lib/should_run/text001.stdout diff --git a/ghc/tests/ccall/should_fail/cc001.stderr b/ghc/tests/ccall/should_fail/cc001.stderr index e959631..4388fc9 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 d41df55..26bc5d0 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 1b02c46..11f5d85 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 87ecde2..719bd5e 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 81978e9..3657e58 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 d8ee804..ae4b9bf 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 ffb1f61..b65b4d9 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 6b4538e..436fa69 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 42ee1fe..98180b5 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 3edcc6c..3cd3673 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 81f12a5..ec3cfa8 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 0000000..18aab82 --- /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 0000000..a0c7822 --- /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 b931228..903bc25 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 6b382ce..2ca8409 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 617e589..9844376 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 ad240f8..5b3d054 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 4c7091c..9161622 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 286154c..fece8c9 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 = "<>" + 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 397f96c..ec86a67 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 0583ba6..b8e8caf 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 96a2940..fd3366c 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 f2cd610..b54bbbe 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 0080259..b00c78d 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 cb77722..76ed6fb 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 5498a26..c4b2040 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 29c96c6..62cb987 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 cc14abc..00783e5 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 3f4a437..46c2387 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 5c6cffa..35c5c82 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 b92cd0f..07777f3 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 e375ede..591ad12 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 49853a7..03b34d9 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 8b8731c..53883ac 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 5f6ddc5..1b68fe4 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 75ba87b..58f13b7 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 61ffb25..04fffdb 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 5a256e7..5019773 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 d3c6a49..4a25ef3 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 044582f..deaaaaa 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 066aaef..dd67a9f 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 2137a44..12e987c 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 5bae760..3b6fe95 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 0f5e86f..cd668c8 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 2e7f52a..f3079f5 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 ed49f1d..30d68e9 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 184c750..1cb559f 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 8763364..037caa1 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 e18dd0f..1e957b8 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 e2c095d..246a667 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 2b9b120..2ce12af 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 1fddd61..ff8612f 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 e8da6c2..3eccaf2 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 4a33211..c3f5a8d 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 dc06f59..1cb829d 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 3d24f91..391ae0f 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 fb1ffea..6c5d6fc 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 8618c30..6fe0163 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 a889e1c..ee2f112 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 61998cc..40c1108 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 74a990a..6ab1040 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 acab588..5372979 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 6ef53ae..db2cef5 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 1cc308e..8ea71ee 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 080ebff..235416f 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 080ebff..235416f 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 54d30b4..a889edf 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 4831739..99f69aa 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 1a659a3..93226ea 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 cc7e6a9..09f4679 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 5423200..ce4b6be 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 cfbee79..0a2be51 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 8f5cf27..e888d1a 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 68bcaa5..db90d1a 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 5859c9a..2633b80 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 38fcf81..46f80b1 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 4c217ae..e9b7774 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 376d3a0..46a704b 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 410a1ad..9dc37d1 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 7650b3b..811e275 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 66feb42..459b08c 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 7ed8275..258e41d 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 9815c5a..71f7155 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 b823d9a..0dd2348 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 9b2dee0..974fa4a 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 dd3c85e..a91cbbb 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 affb03e..25fb03f 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 d86d2c9..348dcb2 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 1bd5c89..ea50af1 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 429fefc..cc92015 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 5812e98..08b902e 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 ab90aa6..c088740 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 af0d5f2..799b9ed 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 3ebb93c..7ab93fd 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 565d1e9..6dcb28e 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 9eda575..00a227f 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 78405f7..c009750 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 0d6371c..ffe4544 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 47f1cba..3e1dc47 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 b847c06..e01f696 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 806100b..cc1e5b1 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 3fb22ff..5f9b32c 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 dbede23..6393495 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 3c2874d..7e83c6d 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 87f21b2..163c727 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 88a651b..f49ad59 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 a8d9781..c1795e5 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 d828793..0586efe 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 3bc5fa5..e4ed3e6 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 42ed8bf..8915021 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 ed219a5..0e090bd 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 441b9ff..91b23df 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 ab51ba6..d130a2e 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 d1ca6fd..b31ade5 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 35e23de..97514c6 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 dfcdd4c..eb774c9 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 7e746cc..da5c6b1 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 cc1983b..184a4e2 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 ac63226..1c54047 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 a013dd4..b271d0f 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 f30e605..0fe6b34 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 236911e..10b2367 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 2f5fe27..9d5307d 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 4eb3cca..d9b4692 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 5b26924..11f833d 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 e2e5992..1c7f82a 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 f21fbf4..6f4c224 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 ead1fa1..668c158 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 397abcd..cf01d15 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 99028ab..d13e606 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 baa28f5..327beef 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 6547756..277623e 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 834f656..0c18a15 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 1ac2936..457aed5 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 15966fa..163df53 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 bab93a7..69e4de1 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 362e7a5..faa0dca 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 2887b6b..f0d6c1c 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 191e08e..2b7b343 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 fca214a..8cfe0b1 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 4fea13f..ccd2fab 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 3ca0c5f..a3c950d 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 d6cd3d7..6cd2a28 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 e0736b8..6a5d4af 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 018379f..3f711e9 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 ea214e1..a54ff98 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 a519785..90c9b23 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 9e85e92..7101937 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 c715384..fa1ea95 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 376d1bf..9626bb4 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 ffae1f0..8002caa 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 bf3afb4..7765b82 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 e4d8be9..dd2eaf2 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 c0bbc90..f66b5ec 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 -- 1.7.10.4