summaryrefslogtreecommitdiff
path: root/testsuite/tests
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests')
-rw-r--r--testsuite/tests/ghc-regress/annotations/should_fail/annfail07.stderr2
-rw-r--r--testsuite/tests/ghc-regress/annotations/should_fail/annfail08.stderr13
-rw-r--r--testsuite/tests/ghc-regress/annotations/should_fail/annfail10.stderr10
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_fail/T2851.stderr7
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_fail/T3621.hs17
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_fail/T3621.stderr16
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_fail/drvfail-foldable-traversable1.stderr14
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_fail/drvfail-functor2.stderr7
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_fail/drvfail001.stderr7
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_fail/drvfail003.stderr7
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_fail/drvfail004.stderr7
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_fail/drvfail007.stderr7
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_fail/drvfail012.stderr7
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_fail/drvfail013.stderr14
-rw-r--r--testsuite/tests/ghc-regress/gadt/T3651.stderr6
-rw-r--r--testsuite/tests/ghc-regress/gadt/gadt10.stderr2
-rw-r--r--testsuite/tests/ghc-regress/gadt/gadt21.stderr13
-rw-r--r--testsuite/tests/ghc-regress/gadt/rw.stderr9
-rw-r--r--testsuite/tests/ghc-regress/ghci.debugger/scripts/break012.stdout16
-rw-r--r--testsuite/tests/ghc-regress/ghci.debugger/scripts/print006.stdout2
-rw-r--r--testsuite/tests/ghc-regress/ghci.debugger/scripts/print012.script2
-rw-r--r--testsuite/tests/ghc-regress/ghci.debugger/scripts/print012.stdout18
-rw-r--r--testsuite/tests/ghc-regress/ghci.debugger/scripts/print014.script2
-rw-r--r--testsuite/tests/ghc-regress/ghci/scripts/ghci012.stdout2
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_compile/Gentle.hs5
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_compile/Gentle.stderr0
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_compile/Simple14.stderr14
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_compile/T3017.stderr4
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_compile/T3208b.stderr25
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_compile/T4120.stderr6
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_compile/all.T4
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/GADTwrong1.stderr15
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/NoMatchErr.stderr12
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/SimpleFail16.stderr2
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/SimpleFail5a.stderr5
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T1900.hs2
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T1900.stderr16
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T2627b.stderr3
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T2664.stderr29
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.stderr8
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T3330a.stderr20
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T3330c.stderr32
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T3440.stderr15
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T4093a.stderr9
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T4093b.stderr15
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T4099.stderr2
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T4174.stderr35
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T4179.stderr62
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T4254.hs3
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T4254.stderr11
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T4272.stderr16
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/T4485.stderr4
-rw-r--r--testsuite/tests/ghc-regress/indexed-types/should_fail/all.T2
-rw-r--r--testsuite/tests/ghc-regress/mdo/should_fail/mdofail001.stderr6
-rw-r--r--testsuite/tests/ghc-regress/module/mod47.stderr4
-rw-r--r--testsuite/tests/ghc-regress/module/mod54.stderr7
-rw-r--r--testsuite/tests/ghc-regress/parser/should_fail/readFail003.stderr6
-rw-r--r--testsuite/tests/ghc-regress/perf/compiler/all.T4
-rw-r--r--testsuite/tests/ghc-regress/rebindable/rebindable6.stderr28
-rw-r--r--testsuite/tests/ghc-regress/simplCore/should_compile/rule2.stderr4
-rw-r--r--testsuite/tests/ghc-regress/simplCore/should_compile/simpl017.stderr8
-rw-r--r--testsuite/tests/ghc-regress/th/T2632.hs3
-rw-r--r--testsuite/tests/ghc-regress/th/TH_tf2.hs10
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_compile/FD1.stderr8
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_compile/FD2.stderr28
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_compile/FD3.stderr10
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_compile/T2494.stderr22
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_compile/all.T5
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_compile/tc216.stderr28
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_compile/tc231.stderr6
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/FrozenErrorTests.stderr64
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/IPFail.stderr9
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/T1899.stderr21
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/T2414.stderr5
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/T2688.stderr5
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/T2714.stderr19
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/T2846b.stderr4
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/T3102.stderr9
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/T3613.stderr14
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/T3950.stderr6
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail002.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail004.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail005.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail006.stderr6
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail007.stderr5
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail008.stderr4
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail010.stderr10
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail012.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail013.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail014.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail015.stderr11
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail016.stderr13
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail017.stderr4
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail018.stderr4
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail019.stderr12
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail020.stderr4
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail028.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail032.stderr16
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail033.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail034.stderr9
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail040.stderr8
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail042.stderr4
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail043.stderr26
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail046.hs7
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail046.stderr18
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail065.stderr3
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail067.stderr50
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail068.stderr124
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail069.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail072.stderr8
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail076.stderr13
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail090.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail099.stderr15
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail102.stderr13
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail103.stderr7
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail104.stderr6
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail106.stderr6
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail115.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail118.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail122.stderr16
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail123.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail128.stderr13
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail131.stderr10
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail132.stderr4
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail133.stderr6
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail135.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail142.stderr4
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail143.stderr31
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail147.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail153.stderr12
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail159.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail165.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail167.stderr4
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail168.stderr18
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail169.stderr7
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail171.stderr12
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail174.stderr14
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail175.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail177.stderr17
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail178.stderr8
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail179.stderr14
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail180.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail181.stderr4
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail182.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail186.stderr14
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail189.stderr8
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail191.stderr9
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail192.stderr16
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail193.stderr6
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail194.stderr8
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail198.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail199.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail200.stderr2
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail201.stderr21
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail204.stderr9
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_fail/tcfail206.stderr30
-rw-r--r--testsuite/tests/ghc-regress/typecheck/should_run/IPRun.hs2
157 files changed, 914 insertions, 781 deletions
diff --git a/testsuite/tests/ghc-regress/annotations/should_fail/annfail07.stderr b/testsuite/tests/ghc-regress/annotations/should_fail/annfail07.stderr
index 344fe50436..01f4b62c45 100644
--- a/testsuite/tests/ghc-regress/annotations/should_fail/annfail07.stderr
+++ b/testsuite/tests/ghc-regress/annotations/should_fail/annfail07.stderr
@@ -1,6 +1,6 @@
annfail07.hs:9:17:
- Couldn't match expected type `[a]' with actual type `Bool'
+ Couldn't match expected type `[a0]' with actual type `Bool'
In the first argument of `head', namely `True'
In the expression: (head True)
In the annotation: {-# ANN f (head True) #-}
diff --git a/testsuite/tests/ghc-regress/annotations/should_fail/annfail08.stderr b/testsuite/tests/ghc-regress/annotations/should_fail/annfail08.stderr
index 4507041dbe..e8b14d1f8a 100644
--- a/testsuite/tests/ghc-regress/annotations/should_fail/annfail08.stderr
+++ b/testsuite/tests/ghc-regress/annotations/should_fail/annfail08.stderr
@@ -1,15 +1,16 @@
annfail08.hs:9:1:
- No instance for (Data.Data.Data (a -> a))
+ No instance for (Data.Data.Data (a0 -> a0))
arising from an annotation
Possible fix:
- add an instance declaration for (Data.Data.Data (a -> a))
+ add an instance declaration for (Data.Data.Data (a0 -> a0))
In the expression: (id + 1)
In the annotation: {-# ANN f (id + 1) #-}
-annfail08.hs:9:15:
- No instance for (Num (a -> a))
- arising from a use of `+'
- Possible fix: add an instance declaration for (Num (a -> a))
+annfail08.hs:9:17:
+ No instance for (Num (a0 -> a0))
+ arising from the literal `1'
+ Possible fix: add an instance declaration for (Num (a0 -> a0))
+ In the second argument of `(+)', namely `1'
In the expression: (id + 1)
In the annotation: {-# ANN f (id + 1) #-}
diff --git a/testsuite/tests/ghc-regress/annotations/should_fail/annfail10.stderr b/testsuite/tests/ghc-regress/annotations/should_fail/annfail10.stderr
index 86cd618c72..f44ad077e6 100644
--- a/testsuite/tests/ghc-regress/annotations/should_fail/annfail10.stderr
+++ b/testsuite/tests/ghc-regress/annotations/should_fail/annfail10.stderr
@@ -1,9 +1,9 @@
-annfail10.hs:9:1:
- Ambiguous type variable `a' in the constraints:
- (Data.Data.Data a) arising from an annotation
- at annfail10.hs:9:1-15
- (Num a) arising from the literal `1' at annfail10.hs:9:11
+annfail10.hs:9:11:
+ Ambiguous type variable `a0' in the constraints:
+ (Num a0) arising from the literal `1' at annfail10.hs:9:11
+ (Data.Data.Data a0) arising from an annotation
+ at annfail10.hs:9:1-15
Probable fix: add a type signature that fixes these type variable(s)
In the expression: 1
In the annotation: {-# ANN f 1 #-}
diff --git a/testsuite/tests/ghc-regress/deriving/should_fail/T2851.stderr b/testsuite/tests/ghc-regress/deriving/should_fail/T2851.stderr
index b7e8760dfe..a2beb9869d 100644
--- a/testsuite/tests/ghc-regress/deriving/should_fail/T2851.stderr
+++ b/testsuite/tests/ghc-regress/deriving/should_fail/T2851.stderr
@@ -2,7 +2,8 @@
T2851.hs:9:15:
No instance for (Show (F a))
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Show (F a))
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Show (F a))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Show (D a))
diff --git a/testsuite/tests/ghc-regress/deriving/should_fail/T3621.hs b/testsuite/tests/ghc-regress/deriving/should_fail/T3621.hs
index a110047bad..cd574eab81 100644
--- a/testsuite/tests/ghc-regress/deriving/should_fail/T3621.hs
+++ b/testsuite/tests/ghc-regress/deriving/should_fail/T3621.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleInstances, FunctionalDependencies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleInstances, FunctionalDependencies, FlexibleContexts, UndecidableInstances, StandaloneDeriving #-}
module T3621 where
-- This one is ok, even though the deriving clause mentions 'a'
@@ -18,6 +18,19 @@ instance Monad (State s) where {}
instance MonadState s (State s) where {}
newtype WrappedState s a = WS { runWS :: State s a }
- deriving (Monad, MonadState state)
+ deriving (Monad, MonadState state)
+-- deriving (Monad)
+deriving instance (MonadState state (State s))
+ => MonadState state (WrappedState s)
+-- ASSERT error
+-- deriving instance (MonadState state (State s), Monad (WrappedState s))
+-- => MonadState s (WrappedState s)
+
+
+-- We try
+-- instance MonadState state (State state a)
+-- => MonadState state (WrappedState state a)
+--
+-- Superclass needs (Monad (WrappedState state a))
diff --git a/testsuite/tests/ghc-regress/deriving/should_fail/T3621.stderr b/testsuite/tests/ghc-regress/deriving/should_fail/T3621.stderr
index 2452be8578..68213c61e8 100644
--- a/testsuite/tests/ghc-regress/deriving/should_fail/T3621.stderr
+++ b/testsuite/tests/ghc-regress/deriving/should_fail/T3621.stderr
@@ -1,11 +1,9 @@
-T3621.hs:21:22:
- Couldn't match type `s' with `state'
- `s' is a rigid type variable bound by
- the instance declaration at T3621.hs:21:22
- `state' is a rigid type variable bound by
- the instance declaration at T3621.hs:21:22
- arising from the 'deriving' clause of a data type declaration
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+T3621.hs:21:21:
+ No instance for (MonadState state (State s))
+ arising from the 'deriving' clause of a data type declaration
+ Possible fix:
+ add an instance declaration for (MonadState state (State s))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (MonadState state (WrappedState s))
diff --git a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail-foldable-traversable1.stderr b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail-foldable-traversable1.stderr
index 2f85820e80..4eaf69c8b7 100644
--- a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail-foldable-traversable1.stderr
+++ b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail-foldable-traversable1.stderr
@@ -2,17 +2,19 @@
drvfail-foldable-traversable1.hs:9:23:
No instance for (Functor Trivial1)
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Functor Trivial1)
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Functor Trivial1)
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Traversable Trivial1)
drvfail-foldable-traversable1.hs:13:22:
No instance for (Foldable Trivial2)
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Foldable Trivial2)
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Foldable Trivial2)
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Traversable Trivial2)
drvfail-foldable-traversable1.hs:17:22:
diff --git a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail-functor2.stderr b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail-functor2.stderr
index 14835b2542..64ff9d0bef 100644
--- a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail-functor2.stderr
+++ b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail-functor2.stderr
@@ -22,7 +22,8 @@ drvfail-functor2.hs:20:14:
drvfail-functor2.hs:26:14:
No instance for (Functor NoFunctor)
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Functor NoFunctor)
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Functor NoFunctor)
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Functor UseNoFunctor)
diff --git a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail001.stderr b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail001.stderr
index 5e4995f84f..a2a149594c 100644
--- a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail001.stderr
+++ b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail001.stderr
@@ -2,7 +2,8 @@
drvfail001.hs:16:33:
No instance for (Show (f (f a)))
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Show (f (f a)))
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Show (f (f a)))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Show (SM f a))
diff --git a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail003.stderr b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail003.stderr
index ef57adf645..4aa98531b8 100644
--- a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail003.stderr
+++ b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail003.stderr
@@ -2,7 +2,8 @@
drvfail003.hs:16:56:
No instance for (Show (v (v a)))
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Show (v (v a)))
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Show (v (v a)))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Show (Square_ v w a))
diff --git a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail004.stderr b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail004.stderr
index 1b3481465f..d08f315cb7 100644
--- a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail004.stderr
+++ b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail004.stderr
@@ -2,7 +2,8 @@
drvfail004.hs:8:12:
No instance for (Eq (Foo a b))
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Eq (Foo a b))
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Eq (Foo a b))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Ord (Foo a b))
diff --git a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail007.stderr b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail007.stderr
index d24b7f4859..7dc7124fd1 100644
--- a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail007.stderr
+++ b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail007.stderr
@@ -2,7 +2,8 @@
drvfail007.hs:4:38:
No instance for (Eq (Int -> Int))
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Eq (Int -> Int))
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Eq (Int -> Int))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Eq Foo)
diff --git a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail012.stderr b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail012.stderr
index b6b3c27a73..22fac4887d 100644
--- a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail012.stderr
+++ b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail012.stderr
@@ -2,7 +2,8 @@
drvfail012.hs:5:33:
No instance for (Eq (Ego a))
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Eq (Ego a))
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Eq (Ego a))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Ord (Ego a))
diff --git a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail013.stderr b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail013.stderr
index 42c82445c1..94927cd790 100644
--- a/testsuite/tests/ghc-regress/deriving/should_fail/drvfail013.stderr
+++ b/testsuite/tests/ghc-regress/deriving/should_fail/drvfail013.stderr
@@ -2,15 +2,17 @@
drvfail013.hs:4:70:
No instance for (Eq (m (Maybe a)))
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Eq (m (Maybe a)))
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Eq (m (Maybe a)))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Eq (MaybeT m a))
drvfail013.hs:6:70:
No instance for (Eq (m (Maybe a)))
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Eq (m (Maybe a)))
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Eq (m (Maybe a)))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Eq (MaybeT' m a))
diff --git a/testsuite/tests/ghc-regress/gadt/T3651.stderr b/testsuite/tests/ghc-regress/gadt/T3651.stderr
index 6e80f99eb4..d15e27aefa 100644
--- a/testsuite/tests/ghc-regress/gadt/T3651.stderr
+++ b/testsuite/tests/ghc-regress/gadt/T3651.stderr
@@ -2,20 +2,20 @@
T3651.hs:11:11:
Couldn't match type `()' with `Bool'
Inaccessible code in
- a pattern with constructor `U', in an equation for `unsafe1'
+ a pattern with constructor U :: Z (), in an equation for `unsafe1'
In the pattern: U
In an equation for `unsafe1': unsafe1 B U = ()
T3651.hs:14:11:
Couldn't match type `()' with `Bool'
Inaccessible code in
- a pattern with constructor `U', in an equation for `unsafe2'
+ a pattern with constructor U :: Z (), in an equation for `unsafe2'
In the pattern: U
In an equation for `unsafe2': unsafe2 B U = ()
T3651.hs:17:11:
Couldn't match type `()' with `Bool'
Inaccessible code in
- a pattern with constructor `U', in an equation for `unsafe3'
+ a pattern with constructor U :: Z (), in an equation for `unsafe3'
In the pattern: U
In an equation for `unsafe3': unsafe3 B U = True
diff --git a/testsuite/tests/ghc-regress/gadt/gadt10.stderr b/testsuite/tests/ghc-regress/gadt/gadt10.stderr
index ff8f8a3c2b..100c84bab7 100644
--- a/testsuite/tests/ghc-regress/gadt/gadt10.stderr
+++ b/testsuite/tests/ghc-regress/gadt/gadt10.stderr
@@ -1,7 +1,7 @@
gadt10.hs:6:24:
`RInt' is not applied to enough type arguments
- Expected kind `?', but `RInt' has kind `k -> *'
+ Expected kind `?', but `RInt' has kind `k0 -> *'
In the type `RInt'
In the definition of data constructor `R'
In the data type declaration for `RInt'
diff --git a/testsuite/tests/ghc-regress/gadt/gadt21.stderr b/testsuite/tests/ghc-regress/gadt/gadt21.stderr
index d63dee12fc..061c563465 100644
--- a/testsuite/tests/ghc-regress/gadt/gadt21.stderr
+++ b/testsuite/tests/ghc-regress/gadt/gadt21.stderr
@@ -1,12 +1,19 @@
gadt21.hs:21:60:
- Could not deduce (Ord a1) from the context (a ~ Set a1)
- arising from a use of `f'
+ Could not deduce (Ord a1) arising from a use of `f'
+ from the context (a ~ Set a1)
+ bound by a pattern with constructor
+ TypeSet :: forall a. Type a -> Type (Set a),
+ in an equation for `withOrdDynExpr'
+ at gadt21.hs:21:35-43
Possible fix:
add (Ord a1) to the context of
the data constructor `TypeSet'
or the data constructor `DynExpr'
- or the type signature for `withOrdDynExpr'
+ or the type signature for
+ withOrdDynExpr :: DynExpr
+ -> (forall a. Ord a => Expr a -> b)
+ -> Maybe b
In the first argument of `Just', namely `(f e)'
In the expression: Just (f e)
In an equation for `withOrdDynExpr':
diff --git a/testsuite/tests/ghc-regress/gadt/rw.stderr b/testsuite/tests/ghc-regress/gadt/rw.stderr
index ca9bf157bc..dbac243ab6 100644
--- a/testsuite/tests/ghc-regress/gadt/rw.stderr
+++ b/testsuite/tests/ghc-regress/gadt/rw.stderr
@@ -2,7 +2,8 @@
rw.hs:14:47:
Couldn't match type `a' with `Int'
`a' is a rigid type variable bound by
- the type signature for `writeInt' at rw.hs:12:14
+ the type signature for writeInt :: T a -> IORef a -> IO ()
+ at rw.hs:13:1
In the second argument of `writeIORef', namely `(1 :: Int)'
In the expression: writeIORef ref (1 :: Int)
In a case alternative: ~(Li x) -> writeIORef ref (1 :: Int)
@@ -10,7 +11,9 @@ rw.hs:14:47:
rw.hs:19:51:
Couldn't match type `a' with `Bool'
`a' is a rigid type variable bound by
- the type signature for `readBool' at rw.hs:16:14
+ the type signature for readBool :: T a -> IORef a -> IO ()
+ at rw.hs:17:1
+ Expected type: a -> Bool
+ Actual type: Bool -> Bool
In the second argument of `(.)', namely `not'
In the second argument of `(>>=)', namely `(print . not)'
- In the expression: readIORef ref >>= (print . not)
diff --git a/testsuite/tests/ghc-regress/ghci.debugger/scripts/break012.stdout b/testsuite/tests/ghc-regress/ghci.debugger/scripts/break012.stdout
index b87d715902..90e228c293 100644
--- a/testsuite/tests/ghc-regress/ghci.debugger/scripts/break012.stdout
+++ b/testsuite/tests/ghc-regress/ghci.debugger/scripts/break012.stdout
@@ -1,16 +1,16 @@
Stopped at break012.hs:(1,1)-(5,18)
-_result :: (a1, a2 -> a2, (), a -> a -> a) = _
+_result :: (t, a1 -> a1, (), a -> a -> a) = _
Stopped at break012.hs:5:10-18
-_result :: (a1, a2 -> a2, (), a -> a -> a) = _
-a :: a1 = _
-b :: a3 -> a3 = _
+_result :: (t, a1 -> a1, (), a -> a -> a) = _
+a :: t = _
+b :: a2 -> a2 = _
c :: () = _
d :: a -> a -> a = _
-a :: a1
-b :: a3 -> a3
+a :: t
+b :: a2 -> a2
c :: ()
d :: a -> a -> a
-a = (_t1::a1)
-b = (_t2::forall a3. a3 -> a3)
+a = (_t1::t)
+b = (_t2::forall a2. a2 -> a2)
c = (_t3::())
d = (_t4::a -> a -> a)
diff --git a/testsuite/tests/ghc-regress/ghci.debugger/scripts/print006.stdout b/testsuite/tests/ghc-regress/ghci.debugger/scripts/print006.stdout
index 7aa12bd5a5..a450e6ce14 100644
--- a/testsuite/tests/ghc-regress/ghci.debugger/scripts/print006.stdout
+++ b/testsuite/tests/ghc-regress/ghci.debugger/scripts/print006.stdout
@@ -2,7 +2,7 @@ t = O (_t1::t)
()
t = O ((_t2::a1) : (_t3::[a1]))
()
-t = O ((_t4::a11) : (_t5::a11) : (_t6::[a11]))
+t = O ((_t4::a2) : (_t5::a2) : (_t6::[a2]))
()
t = O ((_t7::Maybe [a1]) : Just [(_t8::a1),(_t9::a1)] :
(_t10::[Maybe [a1]]))
diff --git a/testsuite/tests/ghc-regress/ghci.debugger/scripts/print012.script b/testsuite/tests/ghc-regress/ghci.debugger/scripts/print012.script
index 0c8f70db89..bda9a8fbe7 100644
--- a/testsuite/tests/ghc-regress/ghci.debugger/scripts/print012.script
+++ b/testsuite/tests/ghc-regress/ghci.debugger/scripts/print012.script
@@ -7,5 +7,5 @@ let o = O (id foo)
seq _t1 ()
:t _t1
:p o
-seq _t3 ()
+seq _t4 ()
:p o \ No newline at end of file
diff --git a/testsuite/tests/ghc-regress/ghci.debugger/scripts/print012.stdout b/testsuite/tests/ghc-regress/ghci.debugger/scripts/print012.stdout
index 9c9d8b6fc6..c80e1c0099 100644
--- a/testsuite/tests/ghc-regress/ghci.debugger/scripts/print012.stdout
+++ b/testsuite/tests/ghc-regress/ghci.debugger/scripts/print012.stdout
@@ -1,8 +1,10 @@
-o = O (_t1::t)
-()
-_t1 :: SafeList x NonEmpty
-o = O (Cons (_t2::GHC.Classes.T:Eq x1) (_t3::x1)
- (_t4::SafeList x1 y))
-()
-o = O (Cons (_t5::GHC.Classes.T:Eq Integer) 3
- (_t6::SafeList Integer y1))
+o = O (_t1::t)
+()
+_t1 :: SafeList a NonEmpty
+o = O (Cons (GHC.Classes.D:Eq (_t2::a1 -> a1 -> Bool)
+ (_t3::a1 -> a1 -> Bool))
+ (_t4::a1) (_t5::SafeList a1 y))
+()
+o = O (Cons (GHC.Classes.D:Eq (_t6::Integer -> Integer -> Bool)
+ (_t7::Integer -> Integer -> Bool))
+ 3 (_t8::SafeList Integer y1))
diff --git a/testsuite/tests/ghc-regress/ghci.debugger/scripts/print014.script b/testsuite/tests/ghc-regress/ghci.debugger/scripts/print014.script
index 50707c64fc..88fce78418 100644
--- a/testsuite/tests/ghc-regress/ghci.debugger/scripts/print014.script
+++ b/testsuite/tests/ghc-regress/ghci.debugger/scripts/print014.script
@@ -6,4 +6,4 @@
let e = Exist 1
:p e
seq _t1 ()
-:p e \ No newline at end of file
+:p e
diff --git a/testsuite/tests/ghc-regress/ghci/scripts/ghci012.stdout b/testsuite/tests/ghc-regress/ghci/scripts/ghci012.stdout
index ed37e56ada..98780e4152 100644
--- a/testsuite/tests/ghc-regress/ghci/scripts/ghci012.stdout
+++ b/testsuite/tests/ghc-regress/ghci/scripts/ghci012.stdout
@@ -1 +1 @@
-($$$) :: [a -> b] -> [a] -> [b] -- Defined at <interactive>:1:8-10
+($$$) :: [b -> c] -> [b] -> [c] -- Defined at <interactive>:1:8-10
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_compile/Gentle.hs b/testsuite/tests/ghc-regress/indexed-types/should_compile/Gentle.hs
index 61023c704b..a32ac798a0 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_compile/Gentle.hs
+++ b/testsuite/tests/ghc-regress/indexed-types/should_compile/Gentle.hs
@@ -20,10 +20,9 @@ wib x = bar x
-- instance Concrete Bool Bool
{- This is a nice example of the trickiness of functional dependencies.
-Here's what is happening. First a very cut-down version of your
-example:
+Here's what is happening.
-Now consider type inference for 'wib'. GHC 6.6 figures out that the call
+Consider type inference for 'wib'. GHC 6.6 figures out that the call
of 'bar' gives rise to the constraint (Concrete p q), where x has type
'p'. Ah, but x must have type 'a', so the constraint is (Concrete a
q).
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_compile/Gentle.stderr b/testsuite/tests/ghc-regress/indexed-types/should_compile/Gentle.stderr
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/tests/ghc-regress/indexed-types/should_compile/Gentle.stderr
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_compile/Simple14.stderr b/testsuite/tests/ghc-regress/indexed-types/should_compile/Simple14.stderr
index 2e920ff5b2..a5250d556f 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_compile/Simple14.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_compile/Simple14.stderr
@@ -1,13 +1,13 @@
Simple14.hs:17:12:
- Couldn't match type `z' with `n'
- `z' is untouchable
- inside the constraints (Maybe m ~ Maybe n)
- bound at the polymorphic type `x ~ y => EQ_ z z'
+ Couldn't match type `z0' with `n'
+ `z0' is untouchable
+ inside the constraints (Maybe m ~ Maybe n)
+ bound at a type expected by the context:
+ Maybe m ~ Maybe n => EQ_ z0 z0
`n' is a rigid type variable bound by
- the type signature for `foo' at Simple14.hs:16:17
- Expected type: z
- Actual type: m
+ the type signature for foo :: EQ_ (Maybe m) (Maybe n)
+ at Simple14.hs:17:1
In the second argument of `eqE', namely `(eqI :: EQ_ m n)'
In the first argument of `ntI', namely `(`eqE` (eqI :: EQ_ m n))'
In the expression: ntI (`eqE` (eqI :: EQ_ m n))
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_compile/T3017.stderr b/testsuite/tests/ghc-regress/indexed-types/should_compile/T3017.stderr
index cc387d48a6..3a277bac61 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_compile/T3017.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_compile/T3017.stderr
@@ -1,7 +1,7 @@
TYPE SIGNATURES
emptyL :: forall a. ListColl a
- test2 :: forall c a a1.
- (Num a1, Num a, Coll c, Elem c ~ (a, a1)) =>
+ test2 :: forall c t t1.
+ (Elem c ~ (t, t1), Coll c, Num t1, Num t) =>
c -> c
TYPE CONSTRUCTORS
data ListColl a
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_compile/T3208b.stderr b/testsuite/tests/ghc-regress/indexed-types/should_compile/T3208b.stderr
index 8c607ffc1b..712f732b06 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_compile/T3208b.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_compile/T3208b.stderr
@@ -1,17 +1,22 @@
T3208b.hs:15:10:
- Could not deduce (OTerm o ~ STerm a)
- from the context (OTerm a ~ STerm a, OBJECT a, SUBST a)
- Expected type: STerm o
- Actual type: OTerm o
+ Could not deduce (STerm a0 ~ STerm a)
+ from the context (OTerm a ~ STerm a, OBJECT a, SUBST a)
+ bound by the type signature for
+ fce' :: (OTerm a ~ STerm a, OBJECT a, SUBST a) => a -> c
+ at T3208b.hs:15:1-22
+ NB: `STerm' is a type function, and may not be injective
+ Expected type: STerm a0
+ Actual type: OTerm a0
In the expression: fce (apply f)
In an equation for `fce'': fce' f = fce (apply f)
-T3208b.hs:15:10:
- Could not deduce (STerm o ~ STerm a)
- from the context (OTerm a ~ STerm a, OBJECT a, SUBST a)
- NB: `STerm' is a type function, and may not be injective
- Expected type: STerm o
- Actual type: OTerm o
+T3208b.hs:15:15:
+ Could not deduce (OTerm a0 ~ STerm a)
+ from the context (OTerm a ~ STerm a, OBJECT a, SUBST a)
+ bound by the type signature for
+ fce' :: (OTerm a ~ STerm a, OBJECT a, SUBST a) => a -> c
+ at T3208b.hs:15:1-22
+ In the first argument of `fce', namely `(apply f)'
In the expression: fce (apply f)
In an equation for `fce'': fce' f = fce (apply f)
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_compile/T4120.stderr b/testsuite/tests/ghc-regress/indexed-types/should_compile/T4120.stderr
index cece097062..d957620b78 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_compile/T4120.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_compile/T4120.stderr
@@ -1,8 +1,8 @@
T4120.hs:17:10:
Couldn't match expected type `forall s. MVector s a'
- with actual type `forall s. Mutable Vector s a1'
- Expected type: (forall s. MVector s a) -> Int
- Actual type: (forall s. Mutable Vector s a1) -> Int
+ with actual type `forall s. Mutable Vector s a0'
+ Expected type: (forall s. MVector s a) -> Int
+ Actual type: (forall s. Mutable Vector s a0) -> Int
In the expression: create1
In an equation for `create': create = create1
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_compile/all.T b/testsuite/tests/ghc-regress/indexed-types/should_compile/all.T
index eae2082c3b..4bc42ebecf 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_compile/all.T
+++ b/testsuite/tests/ghc-regress/indexed-types/should_compile/all.T
@@ -116,7 +116,9 @@ test('GivenCheckSwap', normal, compile, [''])
test('GivenCheckDecomp', normal, compile, [''])
test('GivenCheckTop', normal, compile, [''])
-test('Gentle', normal, compile, [''])
+# A very delicate test
+test('Gentle', normal, compile_fail, [''])
+
test('T1981', normal, compile, [''])
test('T2238', expect_fail, compile, [''])
test('OversatDecomp', normal, compile, [''])
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/GADTwrong1.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/GADTwrong1.stderr
index 3fbe7df32d..e565aa6cde 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/GADTwrong1.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/GADTwrong1.stderr
@@ -1,11 +1,18 @@
GADTwrong1.hs:12:19:
- Could not deduce (a1 ~ b) from the context (() ~ Const a1)
+ Could not deduce (a1 ~ b)
+ from the context (() ~ Const a1)
+ bound by a pattern with constructor
+ T :: forall a. a -> T (Const a),
+ in a case alternative
+ at GADTwrong1.hs:12:12-14
`a1' is a rigid type variable bound by
- a pattern with constructor T :: forall a. a -> T (Const a)
- at GADTwrong1.hs:12:12
+ a pattern with constructor
+ T :: forall a. a -> T (Const a),
+ in a case alternative
+ at GADTwrong1.hs:12:12
`b' is a rigid type variable bound by
- the type signature for `coerce' at GADTwrong1.hs:10:20
+ the type signature for coerce :: a -> b at GADTwrong1.hs:11:1
In the expression: y
In a case alternative: T y -> y
In the expression: case T x :: T (Const b) of { T y -> y }
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/NoMatchErr.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/NoMatchErr.stderr
index d5bd530fa5..713afea184 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/NoMatchErr.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/NoMatchErr.stderr
@@ -1,9 +1,13 @@
NoMatchErr.hs:20:5:
- Could not deduce (Memo d ~ Memo d1) from the context (Fun d1)
+ Could not deduce (Memo d ~ Memo d0)
+ from the context (Fun d)
+ bound by the type signature for f :: Fun d => Memo d a -> Memo d a
+ at NoMatchErr.hs:20:1-15
NB: `Memo' is a type function, and may not be injective
- Expected type: Memo d1 a
- Actual type: Memo d a
- In the first argument of `(.)', namely `abst'
+ Expected type: Memo d a
+ Actual type: Memo d0 a
+ Expected type: Memo d a -> Memo d a
+ Actual type: Memo d0 a -> Memo d0 a
In the expression: abst . appl
In an equation for `f': f = abst . appl
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/SimpleFail16.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/SimpleFail16.stderr
index e9140b2019..0573e15aea 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/SimpleFail16.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/SimpleFail16.stderr
@@ -1,6 +1,6 @@
SimpleFail16.hs:10:12:
- Couldn't match type `F ()' with `p a'
+ Couldn't match type `F ()' with `p0 a0'
In the first argument of `foo', namely `(undefined :: F ())'
In the expression: foo (undefined :: F ())
In an equation for `bar': bar = foo (undefined :: F ())
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/SimpleFail5a.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/SimpleFail5a.stderr
index fb78afd0a2..861ef5c869 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/SimpleFail5a.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/SimpleFail5a.stderr
@@ -2,6 +2,9 @@
SimpleFail5a.hs:31:11:
Couldn't match type `a' with `Int'
`a' is a rigid type variable bound by
- the type signature for `bar3wrong' at SimpleFail5a.hs:30:17
+ the type signature for bar3wrong :: S3 a -> a
+ at SimpleFail5a.hs:31:1
+ Expected type: S3 a
+ Actual type: S3 Int
In the pattern: D3Int
In an equation for `bar3wrong': bar3wrong D3Int = 1
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T1900.hs b/testsuite/tests/ghc-regress/indexed-types/should_fail/T1900.hs
index df112d38ed..efcfbc1391 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T1900.hs
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T1900.hs
@@ -65,7 +65,7 @@ check d = d == trans d
Bug sigma, (invocation of trans at sigma)
{der}Eq fsk)
-==> discharde {der} Eq fsk
+==> discharge {der} Eq fsk
Wanted: ({given}uf ~ fsk
Depend sigma ~ uf (second arg of ==)
Bug sigma, (invocation of trans at sigma)
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T1900.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T1900.stderr
index 578a766a2f..4e3be835c4 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T1900.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T1900.stderr
@@ -1,16 +1,18 @@
-T1900.hs:11:12:
+T1900.hs:11:13:
No instance for (Num ())
- arising from a use of `+'
+ arising from the literal `1'
Possible fix: add an instance declaration for (Num ())
+ In the second argument of `(+)', namely `1'
In the expression: (+ 1)
In an equation for `trans': trans = (+ 1)
- In the instance declaration for `Bug Int'
-T1900.hs:14:16:
- Could not deduce (Depend s ~ Depend s1) from the context (Bug s1)
+T1900.hs:14:22:
+ Could not deduce (Depend s0 ~ Depend s)
+ from the context (Bug s)
+ bound by the type signature for check :: Bug s => Depend s -> Bool
+ at T1900.hs:14:1-22
NB: `Depend' is a type function, and may not be injective
- arising from a use of `trans'
+ In the first argument of `trans', namely `d'
In the second argument of `(==)', namely `trans d'
In the expression: d == trans d
- In an equation for `check': check d = d == trans d
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T2627b.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T2627b.stderr
index 39ea0c5b84..a8e232486b 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T2627b.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T2627b.stderr
@@ -1,6 +1,7 @@
T2627b.hs:20:24:
- Occurs check: cannot construct the infinite type: b = Dual (Dual b)
+ Occurs check: cannot construct the infinite type:
+ a0 = Dual (Dual a0)
In the expression: conn undefined undefined
In an equation for `conn':
conn (Rd k) (Wr a r) = conn undefined undefined
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T2664.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T2664.stderr
index 2fc0014d4d..b3b8428a55 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T2664.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T2664.stderr
@@ -1,17 +1,18 @@
-T2664.hs:31:52:
- Could not deduce (b ~ a)
- from the context (Connect a,
- Connect b,
- (a :*: b) ~ Dual c,
- c ~ Dual (a :*: b))
- `b' is a rigid type variable bound by
- the instance declaration at T2664.hs:22:30
- `a' is a rigid type variable bound by
- the instance declaration at T2664.hs:22:19
- Expected type: Dual (Dual a)
- Actual type: b
- In the third argument of `pchoose', namely `newPChan'
- In the first argument of `E', namely `(pchoose Right v newPChan)'
+T2664.hs:31:33:
+ Could not deduce (Dual a ~ Dual b)
+ from the context (Connect a, Connect b)
+ bound by the instance declaration at T2664.hs:22:10-52
+ or from ((a :*: b) ~ Dual c, c ~ Dual (a :*: b))
+ bound by the type signature for
+ newPChan :: ((a :*: b) ~ Dual c, c ~ Dual (a :*: b)) =>
+ IO (PChan (a :*: b), PChan c)
+ at T2664.hs:(23,5)-(31,87)
+ NB: `Dual' is a type function, and may not be injective
+ Expected type: c
+ Actual type: Dual b :+: Dual a
+ Expected type: PChan c
+ Actual type: PChan (Dual b :+: Dual a)
+ In the return type of a call of `E'
In the expression:
E (pchoose Right v newPChan) (pchoose Left v newPChan)
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.stderr
index 295cea5db2..2072d53296 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T2693.stderr
@@ -1,9 +1,7 @@
T2693.hs:9:16:
- Couldn't match type `TFn a' with `(a1, b)'
+ Couldn't match type `TFn a0' with `(a1, b0)'
+ Expected type: Maybe (a1, b0)
+ Actual type: Maybe (TFn a0)
In the expression: undefined :: Maybe (TFn a)
In a pattern binding: Just x = undefined :: Maybe (TFn a)
- In the expression:
- do { let Just x = ...;
- let n = fst x + fst x;
- return () }
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T3330a.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T3330a.stderr
index 1c515510ad..7e01b28b40 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T3330a.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T3330a.stderr
@@ -1,19 +1,11 @@
-T3330a.hs:17:34:
- Occurs check: cannot construct the infinite type:
- s = (->) (s ix -> ix)
- Expected type: r ix -> Writer [AnyF s1] (r ix)
- Actual type: ix2
- In the first argument of `hmapM', namely `p'
- In the first argument of `execWriter', namely `(hmapM p collect x)'
- In the expression: execWriter (hmapM p collect x)
-
T3330a.hs:17:44:
- Couldn't match type `ix2' with `r ix1 -> Writer [AnyF s] (r ix1)'
- `ix2' is a rigid type variable bound by
- the type signature for `children' at T3330a.hs:16:15
- Expected type: PF s1 r (r ix1 -> Writer [AnyF s] (r ix1))
- Actual type: PF s1 r ix2
+ Couldn't match type `ix' with `r0 ix0 -> Writer [AnyF s0] (r0 ix0)'
+ `ix' is a rigid type variable bound by
+ the type signature for children :: s ix -> PF s r ix -> [AnyF s]
+ at T3330a.hs:17:1
+ Expected type: PF s r (r0 ix0 -> Writer [AnyF s0] (r0 ix0))
+ Actual type: PF s r ix
In the third argument of `hmapM', namely `x'
In the first argument of `execWriter', namely `(hmapM p collect x)'
In the expression: execWriter (hmapM p collect x)
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T3330c.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T3330c.stderr
index a8c5c68888..9b7debcb95 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T3330c.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T3330c.stderr
@@ -1,26 +1,18 @@
-T3330c.hs:23:21:
- Could not deduce (f2 ~ Der f2) from the context (f1 ~ (f2 :+: g))
- `f2' is a rigid type variable bound by
- a pattern with constructor
- RSum :: forall (f :: * -> *) (g :: * -> *).
- R f -> R g -> R (f :+: g)
- at T3330c.hs:23:8
- Expected type: Der f1 x
- Actual type: (:+:) f (Der g) x
- In the pattern: Inl df
- In an equation for `plug'':
- plug' (RSum rf rg) (Inl df) x = Inl (plug rf df x)
+T3330c.hs:23:43:
+ Couldn't match type `Der ((->) x)' with `R'
+ In the first argument of `plug', namely `rf'
+ In the first argument of `Inl', namely `(plug rf df x)'
+ In the expression: Inl (plug rf df x)
T3330c.hs:23:43:
- Couldn't match type `f' with `f x'
- `f' is a rigid type variable bound by
- a pattern with constructor
- RSum :: forall (f :: * -> *) (g :: * -> *).
- R f -> R g -> R (f :+: g)
- at T3330c.hs:23:8
- Expected type: Der ((->) x) (f x)
- Actual type: R f
+ Couldn't match type `f1' with `f1 x'
+ `f1' is a rigid type variable bound by
+ a pattern with constructor
+ RSum :: forall (f :: * -> *) (g :: * -> *).
+ R f -> R g -> R (f :+: g),
+ in an equation for `plug''
+ at T3330c.hs:23:8
In the first argument of `plug', namely `rf'
In the first argument of `Inl', namely `(plug rf df x)'
In the expression: Inl (plug rf df x)
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T3440.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T3440.stderr
index 05bd7f963e..fe61b1da65 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T3440.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T3440.stderr
@@ -1,12 +1,19 @@
T3440.hs:11:22:
- Could not deduce (a1 ~ a) from the context (Fam a ~ Fam a1)
+ Could not deduce (a1 ~ a)
+ from the context (Fam a ~ Fam a1)
+ bound by a pattern with constructor
+ GADT :: forall a. a -> Fam a -> GADT (Fam a),
+ in an equation for `unwrap'
+ at T3440.hs:11:9-16
`a1' is a rigid type variable bound by
a pattern with constructor
- GADT :: forall a. a -> Fam a -> GADT (Fam a)
- at T3440.hs:11:9
+ GADT :: forall a. a -> Fam a -> GADT (Fam a),
+ in an equation for `unwrap'
+ at T3440.hs:11:9
`a' is a rigid type variable bound by
- the type signature for `unwrap' at T3440.hs:10:21
+ the type signature for unwrap :: GADT (Fam a) -> (a, Fam a)
+ at T3440.hs:11:1
In the expression: x
In the expression: (x, y)
In an equation for `unwrap': unwrap (GADT x y) = (x, y)
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4093a.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4093a.stderr
index ade9163bd4..0b36936be9 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4093a.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4093a.stderr
@@ -1,9 +1,14 @@
T4093a.hs:8:8:
- Could not deduce (e ~ ()) from the context (Foo e ~ Maybe e)
+ Could not deduce (e ~ ())
+ from the context (Foo e ~ Maybe e)
+ bound by the type signature for hang :: Foo e ~ Maybe e => Foo e
+ at T4093a.hs:8:1-14
`e' is a rigid type variable bound by
- the type signature for `hang' at T4093a.hs:7:14
+ the type signature for hang :: Foo e ~ Maybe e => Foo e
+ at T4093a.hs:8:1
Expected type: Foo e
Actual type: Maybe ()
+ In the return type of a call of `Just'
In the expression: Just ()
In an equation for `hang': hang = Just ()
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4093b.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4093b.stderr
index e479b18978..6818e006ef 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4093b.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4093b.stderr
@@ -1,10 +1,19 @@
T4093b.hs:31:13:
Could not deduce (e ~ C)
- from the context (EitherCO e (A C O n) (A O O n) ~ A e O n,
- EitherCO x (A C C n) (A C O n) ~ A C x n)
+ from the context (EitherCO e (A C O n) (A O O n) ~ A e O n,
+ EitherCO x (A C C n) (A C O n) ~ A C x n)
+ bound by the type signature for
+ blockToNodeList :: (EitherCO e (A C O n) (A O O n) ~ A e O n,
+ EitherCO x (A C C n) (A C O n) ~ A C x n) =>
+ Block n e x -> A e x n
+ at T4093b.hs:(25,1)-(34,19)
`e' is a rigid type variable bound by
- the type signature for `blockToNodeList' at T4093b.hs:20:12
+ the type signature for
+ blockToNodeList :: (EitherCO e (A C O n) (A O O n) ~ A e O n,
+ EitherCO x (A C C n) (A C O n) ~ A C x n) =>
+ Block n e x -> A e x n
+ at T4093b.hs:25:1
Expected type: EitherCO e (A C O n) (A O O n)
Actual type: (MaybeC C (n C O), MaybeC O (n O C))
In the expression: (JustC n, NothingC)
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4099.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4099.stderr
index 31e894f6f5..4d1935678b 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4099.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4099.stderr
@@ -1,6 +1,6 @@
T4099.hs:11:14:
- Couldn't match type `T a' with `T b'
+ Couldn't match type `T a0' with `T b'
NB: `T' is a type function, and may not be injective
In the first argument of `foo', namely `x'
In the expression: foo x
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4174.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4174.stderr
index 5d62024303..2a403786d9 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4174.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4174.stderr
@@ -1,30 +1,5 @@
-
-T4174.hs:42:12:
- Couldn't match type `False' with `True'
- Expected type: True
- Actual type: GHCVersion (WayOf m) :>=: GHC6'10 Minor1
- In the expression: sync_large_objects
- In an equation for `testcase': testcase = sync_large_objects
-
-T4174.hs:42:12:
- Could not deduce (a ~ SmStep) from the context (Monad m)
- `a' is a rigid type variable bound by
- the type signature for `testcase' at T4174.hs:41:60
- In the expression: sync_large_objects
- In an equation for `testcase': testcase = sync_large_objects
-
-T4174.hs:42:12:
- Could not deduce (b ~ RtsSpinLock) from the context (Monad m)
- `b' is a rigid type variable bound by
- the type signature for `testcase' at T4174.hs:41:62
- In the expression: sync_large_objects
- In an equation for `testcase': testcase = sync_large_objects
-
-T4174.hs:42:12:
- Could not deduce (p ~ True) from the context (Monad m)
- `p' is a rigid type variable bound by
- the type signature for `testcase' at T4174.hs:41:57
- Expected type: True
- Actual type: Threaded (WayOf m)
- In the expression: sync_large_objects
- In an equation for `testcase': testcase = sync_large_objects
+
+T4174.hs:42:12:
+ Couldn't match type `False' with `True'
+ In the expression: sync_large_objects
+ In an equation for `testcase': testcase = sync_large_objects
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4179.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4179.stderr
index 3544db65d8..5798e95589 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4179.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4179.stderr
@@ -1,39 +1,63 @@
T4179.hs:26:16:
- Could not deduce (DoC (x (A2 (FCon x) -> A3 (FCon x))))
- from the context (Functor x, DoC (FCon x))
- arising from a use of `op'
- Possible fix:
- add (DoC (x (A2 (FCon x) -> A3 (FCon x)))) to the context of
- the type signature for `fCon'
- or add an instance declaration for
- (DoC (x (A2 (FCon x) -> A3 (FCon x))))
+ Could not deduce (A3 (x (A2 (FCon x) -> A3 (FCon x)))
+ ~
+ A3 (FCon x))
+ from the context (Functor x, DoC (FCon x))
+ bound by the type signature for
+ fCon :: (Functor x, DoC (FCon x)) =>
+ Con x -> A2 (FCon x) -> A3 (FCon x)
+ at T4179.hs:26:1-17
+ NB: `A3' is a type function, and may not be injective
+ Expected type: A2 (FCon x) -> A3 (FCon x)
+ Actual type: A2 (x (A2 (FCon x) -> A3 (FCon x)))
+ -> A3 (x (A2 (FCon x) -> A3 (FCon x)))
+ Expected type: x (A2 (FCon x) -> A3 (FCon x))
+ -> A2 (FCon x)
+ -> A3 (FCon x)
+ Actual type: x (A2 (FCon x) -> A3 (FCon x))
+ -> A2 (x (A2 (FCon x) -> A3 (FCon x)))
+ -> A3 (x (A2 (FCon x) -> A3 (FCon x)))
In the first argument of `foldDoC', namely `op'
In the expression: foldDoC op
- In an equation for `fCon': fCon = foldDoC op
T4179.hs:26:16:
Could not deduce (A2 (x (A2 (FCon x) -> A3 (FCon x)))
~
A2 (FCon x))
- from the context (Functor x, DoC (FCon x))
+ from the context (Functor x, DoC (FCon x))
+ bound by the type signature for
+ fCon :: (Functor x, DoC (FCon x)) =>
+ Con x -> A2 (FCon x) -> A3 (FCon x)
+ at T4179.hs:26:1-17
NB: `A2' is a type function, and may not be injective
Expected type: A2 (FCon x) -> A3 (FCon x)
Actual type: A2 (x (A2 (FCon x) -> A3 (FCon x)))
-> A3 (x (A2 (FCon x) -> A3 (FCon x)))
+ Expected type: x (A2 (FCon x) -> A3 (FCon x))
+ -> A2 (FCon x)
+ -> A3 (FCon x)
+ Actual type: x (A2 (FCon x) -> A3 (FCon x))
+ -> A2 (x (A2 (FCon x) -> A3 (FCon x)))
+ -> A3 (x (A2 (FCon x) -> A3 (FCon x)))
In the first argument of `foldDoC', namely `op'
In the expression: foldDoC op
- In an equation for `fCon': fCon = foldDoC op
T4179.hs:26:16:
- Could not deduce (A3 (x (A2 (FCon x) -> A3 (FCon x)))
- ~
- A3 (FCon x))
- from the context (Functor x, DoC (FCon x))
- NB: `A3' is a type function, and may not be injective
- Expected type: A2 (FCon x) -> A3 (FCon x)
- Actual type: A2 (x (A2 (FCon x) -> A3 (FCon x)))
- -> A3 (x (A2 (FCon x) -> A3 (FCon x)))
+ Could not deduce (DoC (x (A2 (FCon x) -> A3 (FCon x))))
+ arising from a use of `op'
+ from the context (Functor x, DoC (FCon x))
+ bound by the type signature for
+ fCon :: (Functor x, DoC (FCon x)) =>
+ Con x -> A2 (FCon x) -> A3 (FCon x)
+ at T4179.hs:26:1-17
+ Possible fix:
+ add (DoC (x (A2 (FCon x) -> A3 (FCon x)))) to the context of
+ the type signature for
+ fCon :: (Functor x, DoC (FCon x)) =>
+ Con x -> A2 (FCon x) -> A3 (FCon x)
+ or add an instance declaration for
+ (DoC (x (A2 (FCon x) -> A3 (FCon x))))
In the first argument of `foldDoC', namely `op'
In the expression: foldDoC op
In an equation for `fCon': fCon = foldDoC op
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4254.hs b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4254.hs
index a5b8e86f27..b12ffb4f87 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4254.hs
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4254.hs
@@ -17,4 +17,5 @@ ok2 = op
fails :: forall a b. (a~Int,FD a b) => a -> Bool
fails = op
--- Should fail: no proof that b~Bool
+-- Could fail: no proof that b~Bool
+-- But can also succeed; it's not a *wanted* constraint
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4254.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4254.stderr
index fcff8a0452..e69de29bb2 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4254.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4254.stderr
@@ -1,11 +0,0 @@
-
-T4254.hs:19:10:
- Could not deduce (b ~ Bool) from the context (a ~ Int, FD a b)
- `b' is a rigid type variable bound by
- the type signature for `fails' at T4254.hs:18:19
- When using functional dependencies to combine
- FD Int Bool, arising from a use of `op' at T4254.hs:19:10-11
- FD Int b,
- arising from the type signature for `fails' at T4254.hs:19:1-11
- In the expression: op
- In an equation for `fails': fails = op
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4272.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4272.stderr
index 9e36cdabd8..792cde92b8 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4272.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4272.stderr
@@ -1,12 +1,8 @@
-T4272.hs:11:26:
- Couldn't match type `a' with `TermFamily a a'
- `a' is a rigid type variable bound by
- the type signature for `laws' at T4272.hs:10:16
- Expected type: TermFamily a (TermFamily a a)
- Actual type: TermFamily a a
- In the first argument of `terms', namely
- `(undefined :: TermFamily a a)'
- In the second argument of `prune', namely
- `(terms (undefined :: TermFamily a a))'
+T4272.hs:11:16:
+ Occurs check: cannot construct the infinite type:
+ a0 = TermFamily a0 a0
+ In the first argument of `prune', namely `t'
In the expression: prune t (terms (undefined :: TermFamily a a))
+ In an equation for `laws':
+ laws t = prune t (terms (undefined :: TermFamily a a))
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4485.stderr b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4485.stderr
index c4bccf78c2..a9e9792cda 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/T4485.stderr
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/T4485.stderr
@@ -1,7 +1,7 @@
T4485.hs:47:15:
Overlapping instances for EmbedAsChild
- (IdentityT IO) (XMLGenT m (XML m))
+ (IdentityT IO) (XMLGenT m0 (XML m0))
arising from a use of `asChild'
Matching instances:
instance [overlap ok] (m1 ~ m, EmbedAsChild m c) =>
@@ -10,7 +10,7 @@ T4485.hs:47:15:
instance [overlap ok] EmbedAsChild
(IdentityT IO) (XMLGenT Identity ())
-- Defined at T4485.hs:42:10-58
- (The choice depends on the instantiation of `m'
+ (The choice depends on the instantiation of `m0'
To pick the first instance above, use -XIncoherentInstances
when compiling the other instance declarations)
In the expression: asChild
diff --git a/testsuite/tests/ghc-regress/indexed-types/should_fail/all.T b/testsuite/tests/ghc-regress/indexed-types/should_fail/all.T
index 66e52eebaf..8b1cf10997 100644
--- a/testsuite/tests/ghc-regress/indexed-types/should_fail/all.T
+++ b/testsuite/tests/ghc-regress/indexed-types/should_fail/all.T
@@ -60,7 +60,7 @@ test('T3330a', reqlib('mtl'), compile_fail, [''])
test('T3330b', normal, compile_fail, [''])
test('T3330c', normal, compile_fail, [''])
test('T4179', normal, compile_fail, [''])
-test('T4254', normal, compile_fail, [''])
+test('T4254', normal, compile, [''])
test('T2239', normal, compile_fail, [''])
test('T3440', normal, compile_fail, [''])
test('T4485', normal, compile_fail, [''])
diff --git a/testsuite/tests/ghc-regress/mdo/should_fail/mdofail001.stderr b/testsuite/tests/ghc-regress/mdo/should_fail/mdofail001.stderr
index eafd7b576e..8660e167fe 100644
--- a/testsuite/tests/ghc-regress/mdo/should_fail/mdofail001.stderr
+++ b/testsuite/tests/ghc-regress/mdo/should_fail/mdofail001.stderr
@@ -2,10 +2,10 @@
mdofail001.hs:1:12:
Warning: -XRecursiveDo is deprecated: use -XDoRec or pragma {-# LANGUAGE DoRec #-} instead
-mdofail001.hs:10:32:
+mdofail001.hs:10:36:
No instance for (Num Char)
- arising from the literal `1'
+ arising from the literal `3'
Possible fix: add an instance declaration for (Num Char)
- In the expression: 1
+ In the expression: 3
In the first argument of `l', namely `[1, 2, 3]'
In the expression: l [1, 2, 3]
diff --git a/testsuite/tests/ghc-regress/module/mod47.stderr b/testsuite/tests/ghc-regress/module/mod47.stderr
index 067bb303af..1b8fd0b411 100644
--- a/testsuite/tests/ghc-regress/module/mod47.stderr
+++ b/testsuite/tests/ghc-regress/module/mod47.stderr
@@ -1,7 +1,9 @@
mod47.hs:6:10:
- Could not deduce (Num a) from the context (Eq a, Enum a)
+ Could not deduce (Num a)
arising from the superclasses of an instance declaration
+ from the context (Eq a, Enum a)
+ bound by the instance declaration at mod47.hs:6:10-34
Possible fix:
add (Num a) to the context of the instance declaration
In the instance declaration for `Bar [a]'
diff --git a/testsuite/tests/ghc-regress/module/mod54.stderr b/testsuite/tests/ghc-regress/module/mod54.stderr
index 373ec97439..8b41e7f8bc 100644
--- a/testsuite/tests/ghc-regress/module/mod54.stderr
+++ b/testsuite/tests/ghc-regress/module/mod54.stderr
@@ -2,7 +2,8 @@
mod54.hs:3:22:
No instance for (Eq T)
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Eq T)
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Eq T)
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Ord T)
diff --git a/testsuite/tests/ghc-regress/parser/should_fail/readFail003.stderr b/testsuite/tests/ghc-regress/parser/should_fail/readFail003.stderr
index d0b251faac..fe8ce00577 100644
--- a/testsuite/tests/ghc-regress/parser/should_fail/readFail003.stderr
+++ b/testsuite/tests/ghc-regress/parser/should_fail/readFail003.stderr
@@ -1,7 +1,7 @@
readFail003.hs:4:27:
Occurs check: cannot construct the infinite type:
- t = (t, [a], [a1])
+ t0 = (t0, [a0], [a1])
In the expression: a
In a pattern binding:
~(a, b, c)
@@ -13,7 +13,7 @@ readFail003.hs:4:27:
readFail003.hs:5:27:
Occurs check: cannot construct the infinite type:
- t = (t, [a], [a1])
+ t0 = (t0, [a0], [a1])
In the expression: a
In a pattern binding:
~(a, b, c)
@@ -25,7 +25,7 @@ readFail003.hs:5:27:
readFail003.hs:6:27:
Occurs check: cannot construct the infinite type:
- t = (t, [a], [a1])
+ t0 = (t0, [a0], [a1])
In the expression: a
In a pattern binding:
~(a, b, c)
diff --git a/testsuite/tests/ghc-regress/perf/compiler/all.T b/testsuite/tests/ghc-regress/perf/compiler/all.T
index ea26ca5890..56f74517c3 100644
--- a/testsuite/tests/ghc-regress/perf/compiler/all.T
+++ b/testsuite/tests/ghc-regress/perf/compiler/all.T
@@ -114,8 +114,8 @@ test('T3064',
80000000)),
# expected value: 145038576 (amd64/Linux):
if_wordsize(64,
- compiler_stats_num_field('bytes allocated', 140000000,
- 170000000)),
+ compiler_stats_num_field('bytes allocated', 120000000,
+ 140000000)),
# expected value: 3404504 (x86/OSX):
if_wordsize(32,
compiler_stats_num_field('max_bytes_used', 3000000,
diff --git a/testsuite/tests/ghc-regress/rebindable/rebindable6.stderr b/testsuite/tests/ghc-regress/rebindable/rebindable6.stderr
index 526e739753..ceafd08a01 100644
--- a/testsuite/tests/ghc-regress/rebindable/rebindable6.stderr
+++ b/testsuite/tests/ghc-regress/rebindable/rebindable6.stderr
@@ -1,9 +1,9 @@
rebindable6.hs:106:17:
- No instance for (HasSeq (IO a -> t -> IO b))
+ No instance for (HasSeq (IO a -> t0 -> IO b))
arising from a do statement
Possible fix:
- add an instance declaration for (HasSeq (IO a -> t -> IO b))
+ add an instance declaration for (HasSeq (IO a -> t0 -> IO b))
In a stmt of a 'do' expression: f
In the expression:
do { f;
@@ -16,13 +16,27 @@ rebindable6.hs:106:17:
return b }
rebindable6.hs:107:17:
- No instances for (HasFail ([Prelude.Char] -> t1),
- HasBind (IO (Maybe b) -> (Maybe b -> t1) -> t))
+ No instance for (HasBind (IO (Maybe b) -> (Maybe b -> t1) -> t0))
arising from a do statement
Possible fix:
- add instance declarations for
- (HasFail ([Prelude.Char] -> t1),
- HasBind (IO (Maybe b) -> (Maybe b -> t1) -> t))
+ add an instance declaration for
+ (HasBind (IO (Maybe b) -> (Maybe b -> t1) -> t0))
+ In a stmt of a 'do' expression: Just (b :: b) <- g
+ In the expression:
+ do { f;
+ Just (b :: b) <- g;
+ return b }
+ In an equation for `test_do':
+ test_do f g
+ = do { f;
+ Just (b :: b) <- g;
+ return b }
+
+rebindable6.hs:107:17:
+ No instance for (HasFail ([Prelude.Char] -> t1))
+ arising from a do statement
+ Possible fix:
+ add an instance declaration for (HasFail ([Prelude.Char] -> t1))
In a stmt of a 'do' expression: Just (b :: b) <- g
In the expression:
do { f;
diff --git a/testsuite/tests/ghc-regress/simplCore/should_compile/rule2.stderr b/testsuite/tests/ghc-regress/simplCore/should_compile/rule2.stderr
index 78955269ba..2bdb17fa4a 100644
--- a/testsuite/tests/ghc-regress/simplCore/should_compile/rule2.stderr
+++ b/testsuite/tests/ghc-regress/simplCore/should_compile/rule2.stderr
@@ -24,9 +24,9 @@ Total ticks: 11
1 m
1 a
1 m
- 1 b
- 1 m
1 a
+ 1 m
+ 1 b
8 SimplifierDone
8
diff --git a/testsuite/tests/ghc-regress/simplCore/should_compile/simpl017.stderr b/testsuite/tests/ghc-regress/simplCore/should_compile/simpl017.stderr
index 7bbcf68ff3..1fa19d1139 100644
--- a/testsuite/tests/ghc-regress/simplCore/should_compile/simpl017.stderr
+++ b/testsuite/tests/ghc-regress/simplCore/should_compile/simpl017.stderr
@@ -1,7 +1,7 @@
simpl017.hs:44:12:
Couldn't match expected type `forall v. [E m i] -> E' v m a'
- with actual type `[E m i] -> E' v m a'
+ with actual type `[E m i] -> E' v0 m a'
In the first argument of `return', namely `f'
In the expression: return f
In the first argument of `E', namely
@@ -12,9 +12,9 @@ simpl017.hs:44:12:
return f })'
simpl017.hs:63:5:
- Couldn't match expected type `t -> t1'
- with actual type `forall v. [E m Int] -> E' v m Int'
+ Couldn't match expected type `t0 -> t1'
+ with actual type `forall v. [E m0 Int] -> E' v m0 Int'
The function `a' is applied to one argument,
- but its type `forall v. [E m Int] -> E' v m Int' has none
+ but its type `forall v. [E m0 Int] -> E' v m0 Int' has none
In the first argument of `plus', namely `a [one]'
In the expression: a [one] `plus` a [one]
diff --git a/testsuite/tests/ghc-regress/th/T2632.hs b/testsuite/tests/ghc-regress/th/T2632.hs
index 5d10fcf498..31429e28d9 100644
--- a/testsuite/tests/ghc-regress/th/T2632.hs
+++ b/testsuite/tests/ghc-regress/th/T2632.hs
@@ -6,10 +6,11 @@ module MkData where
import Language.Haskell.TH
+op :: Num v => v -> v -> v
op a b = a + b
decl1 = [d| func = 0 `op` 3 |]
-decl2 = [d| op x = x
+decl2 = [d| op x y = x
func = 0 `op` 3 |]
diff --git a/testsuite/tests/ghc-regress/th/TH_tf2.hs b/testsuite/tests/ghc-regress/th/TH_tf2.hs
index d35e6ec275..94be291324 100644
--- a/testsuite/tests/ghc-regress/th/TH_tf2.hs
+++ b/testsuite/tests/ghc-regress/th/TH_tf2.hs
@@ -2,6 +2,7 @@
module TH_tf2 where
+{-
$( [d| class C a where
data T a
foo :: Bool -> T a |] )
@@ -13,11 +14,12 @@ $( [d| instance C Int where
$( [d| instance C Float where
data T Float = TFloat {flag :: Bool}
foo b = TFloat {flag = b && b} |] )
+-}
-$( [d| class D a where
+class D a where
type S a
- bar :: S a -> Int |] )
+ bar :: S a -> Int
-$( [d| instance D Int where
+instance D Int where
type S Int = Bool
- bar c = if c then 1 else 2 |] )
+ bar c = if c then 1 else 2
diff --git a/testsuite/tests/ghc-regress/typecheck/should_compile/FD1.stderr b/testsuite/tests/ghc-regress/typecheck/should_compile/FD1.stderr
index 5eebbaeb81..6f98877b84 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_compile/FD1.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_compile/FD1.stderr
@@ -1,8 +1,12 @@
FD1.hs:16:1:
Could not deduce (a ~ (Int -> Int))
- from the context (E a (Int -> Int))
+ from the context (E a (Int -> Int))
+ bound by the type signature for
+ plus :: E a (Int -> Int) => Int -> a
+ at FD1.hs:16:1-16
`a' is a rigid type variable bound by
- the type signature for `plus' at FD1.hs:15:12
+ the type signature for plus :: E a (Int -> Int) => Int -> a
+ at FD1.hs:16:1
The equation(s) for `plus' have two arguments,
but its type `Int -> a' has only one
diff --git a/testsuite/tests/ghc-regress/typecheck/should_compile/FD2.stderr b/testsuite/tests/ghc-regress/typecheck/should_compile/FD2.stderr
index 88e97b6f18..618c361f49 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_compile/FD2.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_compile/FD2.stderr
@@ -1,11 +1,25 @@
-FD2.hs:26:34:
- Could not deduce (e ~ e1)
- from the context (Foldable a, Elem a e, Elem a e1)
- `e' is a rigid type variable bound by
- the type signature for `foldr1' at FD2.hs:21:20
+FD2.hs:26:38:
+ Could not deduce (e1 ~ e)
+ from the context (Foldable a)
+ bound by the class declaration for `Foldable'
+ at FD2.hs:(17,1)-(26,39)
+ or from (Elem a e)
+ bound by the type signature for
+ foldr1 :: Elem a e => (e -> e -> e) -> a -> e
+ at FD2.hs:(22,3)-(26,39)
+ or from (Elem a e1)
+ bound by the type signature for
+ mf :: Elem a e1 => e1 -> Maybe e1 -> Maybe e1
+ at FD2.hs:(25,12)-(26,39)
`e1' is a rigid type variable bound by
- the type signature for `mf' at FD2.hs:24:25
+ the type signature for
+ mf :: Elem a e1 => e1 -> Maybe e1 -> Maybe e1
+ at FD2.hs:25:12
+ `e' is a rigid type variable bound by
+ the type signature for
+ foldr1 :: Elem a e => (e -> e -> e) -> a -> e
+ at FD2.hs:22:3
+ In the second argument of `f', namely `y'
In the first argument of `Just', namely `(f x y)'
In the expression: Just (f x y)
- In an equation for `mf': mf x (Just y) = Just (f x y)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_compile/FD3.stderr b/testsuite/tests/ghc-regress/typecheck/should_compile/FD3.stderr
index 29bbd84dc8..5e8a4ee164 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_compile/FD3.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_compile/FD3.stderr
@@ -2,7 +2,8 @@
FD3.hs:15:15:
Couldn't match type `a' with `(String, a)'
`a' is a rigid type variable bound by
- the type signature for `translate' at FD3.hs:14:23
+ the type signature for translate :: (String, a) -> A a
+ at FD3.hs:15:1
When using functional dependencies to combine
MkA a a,
arising from the dependency `a -> b'
@@ -10,10 +11,3 @@ FD3.hs:15:15:
MkA (String, a) a, arising from a use of `mkA' at FD3.hs:15:15-17
In the expression: mkA a
In an equation for `translate': translate a = mkA a
-
-FD3.hs:15:15:
- No instance for (MkA (String, a1) a1)
- arising from a use of `mkA'
- Possible fix: add an instance declaration for (MkA (String, a1) a1)
- In the expression: mkA a
- In an equation for `translate': translate a = mkA a
diff --git a/testsuite/tests/ghc-regress/typecheck/should_compile/T2494.stderr b/testsuite/tests/ghc-regress/typecheck/should_compile/T2494.stderr
index 391b9494b7..b522833af2 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_compile/T2494.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_compile/T2494.stderr
@@ -1,20 +1,22 @@
-T2494.hs:15:14:
- Couldn't match type `b' with `a'
- `b' is a rigid type variable bound by
- the type signature for `g' at T2494.hs:14:46
+T2494.hs:15:7:
+ Couldn't match type `a' with `b'
`a' is a rigid type variable bound by
- the type signature for `f' at T2494.hs:13:46
- In the first argument of `foo', namely `g'
- In the second argument of `foo', namely `(foo g x)'
+ the RULE "foo/foo" at T2494.hs:13:46
+ `b' is a rigid type variable bound by
+ the RULE "foo/foo" at T2494.hs:14:46
+ Expected type: Maybe (m b) -> Maybe (m b)
+ Actual type: Maybe (m a) -> Maybe (m a)
+ In the first argument of `foo', namely `f'
In the expression: foo f (foo g x)
T2494.hs:15:30:
Couldn't match type `b' with `a'
`b' is a rigid type variable bound by
- the type signature for `g' at T2494.hs:14:46
+ the RULE "foo/foo" at T2494.hs:14:46
`a' is a rigid type variable bound by
- the type signature for `f' at T2494.hs:13:46
+ the RULE "foo/foo" at T2494.hs:13:46
+ Expected type: Maybe (m b) -> Maybe (m a)
+ Actual type: Maybe (m b) -> Maybe (m b)
In the second argument of `(.)', namely `g'
In the first argument of `foo', namely `(f . g)'
- In the expression: foo (f . g) x
diff --git a/testsuite/tests/ghc-regress/typecheck/should_compile/all.T b/testsuite/tests/ghc-regress/typecheck/should_compile/all.T
index cb92f5eea7..7c55d07693 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_compile/all.T
+++ b/testsuite/tests/ghc-regress/typecheck/should_compile/all.T
@@ -227,7 +227,10 @@ test('tc212', normal, compile, [''])
test('tc213', normal, compile, [''])
test('tc214', normal, compile, [''])
test('tc215', normal, compile, [''])
-test('tc216', normal, compile_fail, [''])
+
+# This one is very delicate, but I don't think the result really matters
+test('tc216', normal, compile, [''])
+
test('tc217', reqlib('mtl'), compile, [''])
test('tc218', normal, compile, [''])
test('tc219', normal, compile, [''])
diff --git a/testsuite/tests/ghc-regress/typecheck/should_compile/tc216.stderr b/testsuite/tests/ghc-regress/typecheck/should_compile/tc216.stderr
index 8dca19202b..e69de29bb2 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_compile/tc216.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_compile/tc216.stderr
@@ -1,28 +0,0 @@
-
-tc216.hs:38:12:
- Context reduction stack overflow; size = 21
- Use -fcontext-stack=N to increase stack size to N
- $dBar :: Bar y19 z
- $dBar :: Bar y18 z
- $dBar :: Bar y17 z
- $dBar :: Bar y16 z
- $dBar :: Bar y15 z
- $dBar :: Bar y14 z
- $dBar :: Bar y13 z
- $dBar :: Bar y12 z
- $dBar :: Bar y11 z
- $dBar :: Bar y10 z
- $dBar :: Bar y9 z
- $dBar :: Bar y8 z
- $dBar :: Bar y7 z
- $dBar :: Bar y6 z
- $dBar :: Bar y5 z
- $dBar :: Bar y4 z
- $dBar :: Bar y3 z
- $dBar :: Bar y2 z
- $dBar :: Bar y1 z
- $dBar :: Bar y z
- $dBar :: Bar y20 z
- In the expression: bar (foo x) z
- In an equation for `bar': bar x z = bar (foo x) z
- In the instance declaration for `Bar x z'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_compile/tc231.stderr b/testsuite/tests/ghc-regress/typecheck/should_compile/tc231.stderr
index a3891546b2..4f8745519b 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_compile/tc231.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_compile/tc231.stderr
@@ -1,7 +1,7 @@
TYPE SIGNATURES
- foo :: forall b t t1.
- Zork t (Z [Char]) b =>
- Q t (Z [Char]) t1 -> ST t ()
+ foo :: forall s b chain.
+ Zork s (Z [Char]) b =>
+ Q s (Z [Char]) chain -> ST s ()
s :: forall t t1. Q t (Z [Char]) t1 -> Q t (Z [Char]) t1
TYPE CONSTRUCTORS
data Q s a chain
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/FrozenErrorTests.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/FrozenErrorTests.stderr
index e944c3f6df..bbe8c55bec 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/FrozenErrorTests.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/FrozenErrorTests.stderr
@@ -2,16 +2,22 @@
FrozenErrorTests.hs:11:1:
Couldn't match type `a' with `T a'
`a' is a rigid type variable bound by
- the type signature for `foo' at FrozenErrorTests.hs:10:15
- Inaccessible code in the type signature for `foo'
+ the type signature for foo :: a ~ T a => a -> a
+ at FrozenErrorTests.hs:11:1
+ Inaccessible code in
+ the type signature for foo :: a ~ T a => a -> a
FrozenErrorTests.hs:14:12:
Couldn't match type `b' with `T b'
`b' is a rigid type variable bound by
- a pattern with constructor MkT2 :: forall a b. b ~ T b => b -> T a
- at FrozenErrorTests.hs:14:12
+ a pattern with constructor
+ MkT2 :: forall a b. b ~ T b => b -> T a,
+ in a case alternative
+ at FrozenErrorTests.hs:14:12
Inaccessible code in
- a pattern with constructor `MkT2', in a case alternative
+ a pattern with constructor
+ MkT2 :: forall a b. b ~ T b => b -> T a,
+ in a case alternative
In the pattern: MkT2 y
In a case alternative: MkT2 y -> ()
In the expression: case x of { MkT2 y -> () }
@@ -19,67 +25,49 @@ FrozenErrorTests.hs:14:12:
FrozenErrorTests.hs:19:12:
Couldn't match type `Int' with `Bool'
Inaccessible code in
- a pattern with constructor `MkT3', in a case alternative
+ a pattern with constructor
+ MkT3 :: forall a. a ~ Bool => T a,
+ in a case alternative
In the pattern: MkT3
In a case alternative: MkT3 -> ()
In the expression: case x of { MkT3 -> () }
FrozenErrorTests.hs:33:9:
- Occurs check: cannot construct the infinite type: a = [a]
- Expected type: [a]
- Actual type: F a Bool
+ Occurs check: cannot construct the infinite type: a0 = [a0]
In the expression: goo1 False undefined
In an equation for `test1': test1 = goo1 False undefined
FrozenErrorTests.hs:36:15:
- Couldn't match type `Int' with `[Int]'
- Expected type: [[Int]]
- Actual type: F [Int] Bool
+ Couldn't match type `[Int]' with `[[Int]]'
In the first argument of `goo2', namely `(goo1 False undefined)'
In the expression: goo2 (goo1 False undefined)
In an equation for `test2': test2 = goo2 (goo1 False undefined)
FrozenErrorTests.hs:37:9:
Couldn't match type `Int' with `[Int]'
- Expected type: [[Int]]
- Actual type: F [Int] Bool
In the expression: goo1 False (goo2 undefined)
In an equation for `test3': test3 = goo1 False (goo2 undefined)
FrozenErrorTests.hs:52:15:
- Occurs check: cannot construct the infinite type: c = T2 (T2 c c) c
- Expected type: T2 (M (T2 (T2 c c) c)) (T2 (T2 c c) c)
- Actual type: F (T2 (T2 c c) c) Bool
- In the first argument of `goo4', namely `(goo3 False undefined)'
- In the expression: goo4 (goo3 False undefined)
- In an equation for `test4': test4 = goo4 (goo3 False undefined)
-
-FrozenErrorTests.hs:52:15:
- Occurs check: cannot construct the infinite type: c = T2 (T2 c c) c
- Expected type: T2 (M (T2 (T2 c c) c)) (T2 (T2 c c) c)
- Actual type: F (T2 (T2 c c) c) Bool
+ Couldn't match type `T2 (T2 c0 c0) c0'
+ with `T2 (M (T2 (T2 c0 c0) c0)) (T2 (T2 c0 c0) c0)'
In the first argument of `goo4', namely `(goo3 False undefined)'
In the expression: goo4 (goo3 False undefined)
In an equation for `test4': test4 = goo4 (goo3 False undefined)
-FrozenErrorTests.hs:52:15:
- Couldn't match type `T2 c' with `M'
- Expected type: T2 (M (T2 (T2 c c) c)) (T2 (T2 c c) c)
- Actual type: F (T2 (T2 c c) c) Bool
- In the first argument of `goo4', namely `(goo3 False undefined)'
- In the expression: goo4 (goo3 False undefined)
- In an equation for `test4': test4 = goo4 (goo3 False undefined)
+FrozenErrorTests.hs:53:9:
+ Couldn't match type `T2 c0' with `M'
+ In the expression: goo3 False (goo4 undefined)
+ In an equation for `test5': test5 = goo3 False (goo4 undefined)
FrozenErrorTests.hs:53:9:
- Couldn't match type `T2 c c' with `M (T2 (T2 c c) c)'
- Expected type: T2 (M (T2 (T2 c c) c)) (T2 (T2 c c) c)
- Actual type: F (T2 (T2 c c) c) Bool
+ Occurs check: cannot construct the infinite type:
+ c0 = T2 (T2 c0 c0) c0
In the expression: goo3 False (goo4 undefined)
In an equation for `test5': test5 = goo3 False (goo4 undefined)
FrozenErrorTests.hs:53:9:
- Occurs check: cannot construct the infinite type: c = T2 (T2 c c) c
- Expected type: T2 (M (T2 (T2 c c) c)) (T2 (T2 c c) c)
- Actual type: F (T2 (T2 c c) c) Bool
+ Occurs check: cannot construct the infinite type:
+ c0 = T2 (T2 c0 c0) c0
In the expression: goo3 False (goo4 undefined)
In an equation for `test5': test5 = goo3 False (goo4 undefined)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/IPFail.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/IPFail.stderr
index 7174208548..7d0d8980af 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/IPFail.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/IPFail.stderr
@@ -1,9 +1,12 @@
IPFail.hs:6:18:
- Could not deduce (Num Bool) from the context (?x::Int)
- arising from the literal `5'
+ Could not deduce (Num Bool) arising from the literal `5'
+ from the context (?x::Int)
+ bound by the type signature for f0 :: (?x::Int) => () -> Bool
+ at IPFail.hs:6:1-24
Possible fix:
- add (Num Bool) to the context of the type signature for `f0'
+ add (Num Bool) to the context of
+ the type signature for f0 :: (?x::Int) => () -> Bool
or add an instance declaration for (Num Bool)
In the expression: 5
In the expression: let ?x = 5 in ?x
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/T1899.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/T1899.stderr
index 0be35473a5..4769b2d96c 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/T1899.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/T1899.stderr
@@ -1,8 +1,15 @@
-T1899.hs:12:29:
- Couldn't match type `a1' with `Proposition a'
- `a1' is a rigid type variable bound by
- the type signature for `transRHS' at T1899.hs:9:15
- In the first argument of `Prop', namely `(Auxiliary undefined)'
- In the expression: Prop (Auxiliary undefined)
- In the expression: [Prop (Auxiliary undefined)]
+T1899.hs:13:13:
+ Couldn't match type `a' with `Proposition a0'
+ `a' is a rigid type variable bound by
+ the type signature for transRHS :: [a] -> Int -> Constraint a
+ at T1899.hs:10:2
+ Expected type: Constraint a
+ Actual type: Constraint (Proposition a0)
+ In the expression:
+ Formula $ [[Prop (Auxiliary varSet), Prop (Auxiliary varSet)]]
+ In the expression:
+ if b < 0 then
+ Formula [[Prop (Auxiliary undefined)]]
+ else Formula
+ $ [[Prop (Auxiliary varSet), Prop (Auxiliary varSet)]]
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/T2414.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/T2414.stderr
index 1250dd86a1..030bf6e52a 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/T2414.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/T2414.stderr
@@ -1,6 +1,7 @@
T2414.hs:9:13:
- Occurs check: cannot construct the infinite type: a = (Bool, a)
+ Occurs check: cannot construct the infinite type: b0 = (Bool, b0)
+ Expected type: b0 -> Maybe (Bool, b0)
+ Actual type: b0 -> Maybe b0
In the first argument of `unfoldr', namely `Just'
In the expression: unfoldr Just
- In an equation for `f': f = unfoldr Just
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/T2688.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/T2688.stderr
index 12dd4749e5..de91620078 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/T2688.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/T2688.stderr
@@ -1,6 +1,9 @@
T2688.hs:8:22:
- Could not deduce (s ~ v) from the context (VectorSpace v s)
+ Could not deduce (s ~ v)
+ from the context (VectorSpace v s)
+ bound by the class declaration for `VectorSpace'
+ at T2688.hs:(5,1)-(8,23)
`s' is a rigid type variable bound by
the class declaration for `VectorSpace' at T2688.hs:5:21
`v' is a rigid type variable bound by
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/T2714.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/T2714.stderr
index 677e5f4698..da355fc738 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/T2714.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/T2714.stderr
@@ -1,7 +1,22 @@
T2714.hs:8:5:
- Couldn't match type `a' with `f b'
+ Couldn't match type `a' with `f0 b'
`a' is a rigid type variable bound by
- the type signature for `f' at T2714.hs:7:8
+ the type signature for f :: ((a -> b) -> b) -> forall c. c -> a
+ at T2714.hs:8:1
+ Expected type: ((a -> b) -> b) -> c -> a
+ Actual type: ((a -> b) -> b) -> f0 (a -> b) -> f0 b
+ In the expression: ffmap
+ In an equation for `f': f = ffmap
+
+T2714.hs:8:5:
+ Couldn't match type `c' with `f0 (f0 b -> b)'
+ `c' is a rigid type variable bound by
+ the type signature for f :: ((a -> b) -> b) -> c -> a
+ at T2714.hs:8:1
+ Expected type: c
+ Actual type: f0 (a -> b)
+ Expected type: ((a -> b) -> b) -> c -> a
+ Actual type: ((a -> b) -> b) -> f0 (a -> b) -> f0 b
In the expression: ffmap
In an equation for `f': f = ffmap
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/T2846b.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/T2846b.stderr
index 90e92e9f1d..79527c15b7 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/T2846b.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/T2846b.stderr
@@ -1,7 +1,7 @@
T2846b.hs:5:5:
- No instance for (Show (Num a => a))
+ No instance for (Show (Num a0 => a0))
arising from a use of `show'
- Possible fix: add an instance declaration for (Show (Num a => a))
+ Possible fix: add an instance declaration for (Show (Num a0 => a0))
In the expression: show ([1, 2, 3] :: [Num a => a])
In an equation for `f': f = show ([1, 2, 3] :: [Num a => a])
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/T3102.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/T3102.stderr
index 0e987aa2cb..cf3483870d 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/T3102.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/T3102.stderr
@@ -1,8 +1,9 @@
T3102.hs:11:12:
- Couldn't match type `a1' with `(?p::Int) => a'
- `a1' is a rigid type variable bound by
- the polymorphic type `forall a1. a1 -> String' at T3102.hs:11:10
+ Couldn't match type `a' with `(?p::Int) => a0'
+ `a' is a rigid type variable bound by
+ a type expected by the context: a -> String at T3102.hs:11:10
+ Expected type: a -> String
+ Actual type: ((?p::Int) => a0) -> String
In the first argument of `f', namely `t'
In the expression: f t
- In an equation for `result': result = f t
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/T3613.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/T3613.stderr
index 94273b1bdb..ad79ac701d 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/T3613.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/T3613.stderr
@@ -1,17 +1,17 @@
T3613.hs:14:20:
- Couldn't match expected type `Maybe a' with actual type `IO ()'
+ Couldn't match expected type `Maybe a0' with actual type `IO ()'
In the first argument of `(>>)', namely `bar'
In the first argument of `fooThen', namely `(bar >> undefined)'
In the expression: fooThen (bar >> undefined)
T3613.hs:17:24:
- Couldn't match expected type `Maybe a' with actual type `IO ()'
+ Couldn't match expected type `Maybe a0' with actual type `IO ()'
In a stmt of a 'do' expression: bar
In the first argument of `fooThen', namely
- `(do { bar;
- undefined })'
+ `(do { bar;
+ undefined })'
In the expression:
- fooThen
- (do { bar;
- undefined })
+ fooThen
+ (do { bar;
+ undefined })
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/T3950.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/T3950.stderr
index 9160985cbf..1c326ad43e 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/T3950.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/T3950.stderr
@@ -1,7 +1,7 @@
T3950.hs:15:13:
- Couldn't match expected type `Id p' with actual type `Id p x'
- Expected type: w (Id p)
- Actual type: Sealed (Id p x)
+ Couldn't match expected type `Id p' with actual type `Id p x0'
+ Expected type: w (Id p)
+ Actual type: Sealed (Id p x0)
In the first argument of `Just', namely `rp''
In the expression: Just rp'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail002.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail002.stderr
index 7cbaf0e547..12a77d0cc8 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail002.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail002.stderr
@@ -1,5 +1,5 @@
tcfail002.hs:4:7:
- Occurs check: cannot construct the infinite type: t = [t]
+ Occurs check: cannot construct the infinite type: t0 = [t0]
In the expression: z
In an equation for `c': c z = z
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail004.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail004.stderr
index 8ef0cb2447..5f0408880c 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail004.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail004.stderr
@@ -1,6 +1,6 @@
tcfail004.hs:3:9:
- Couldn't match expected type `(t, t1)'
+ Couldn't match expected type `(t0, t1)'
with actual type `(t2, t3, t4)'
In the expression: (1, 2, 3)
In a pattern binding: (f, g) = (1, 2, 3)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail005.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail005.stderr
index 483c542a76..8a158f5c8d 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail005.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail005.stderr
@@ -1,5 +1,5 @@
tcfail005.hs:3:9:
- Couldn't match expected type `[t]' with actual type `(t1, t2)'
+ Couldn't match expected type `[t0]' with actual type `(t1, t2)'
In the expression: (1, 'a')
In a pattern binding: (h : i) = (1, 'a')
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail006.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail006.stderr
index 83d53e9221..b2a3f5b04a 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail006.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail006.stderr
@@ -1,8 +1,8 @@
-tcfail006.hs:4:24:
+tcfail006.hs:5:20:
No instance for (Num Bool)
arising from the literal `1'
Possible fix: add an instance declaration for (Num Bool)
In the expression: 1
- In the expression: (True, 1)
- In a case alternative: True -> (True, 1)
+ In the expression: (1, True)
+ In a case alternative: False -> (1, True)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail007.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail007.stderr
index 6f50df2877..3545f8644f 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail007.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail007.stderr
@@ -1,8 +1,9 @@
-tcfail007.hs:3:15:
+tcfail007.hs:3:16:
No instance for (Num Bool)
- arising from a use of `+'
+ arising from the literal `1'
Possible fix: add an instance declaration for (Num Bool)
+ In the second argument of `(+)', namely `1'
In the expression: x + 1
In an equation for `n':
n x
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail008.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail008.stderr
index 68a1b0c894..2d31ee6034 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail008.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail008.stderr
@@ -1,8 +1,8 @@
tcfail008.hs:3:7:
- No instance for (Num [a])
+ No instance for (Num [a0])
arising from the literal `2'
- Possible fix: add an instance declaration for (Num [a])
+ Possible fix: add an instance declaration for (Num [a0])
In the second argument of `(:)', namely `2'
In the expression: 1 : 2
In an equation for `o': o = 1 : 2
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail010.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail010.stderr
index f9cbd43e91..34a52ed1d2 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail010.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail010.stderr
@@ -1,8 +1,8 @@
-tcfail010.hs:3:17:
- No instance for (Num [t])
- arising from a use of `+'
- Possible fix: add an instance declaration for (Num [t])
+tcfail010.hs:3:18:
+ No instance for (Num [t0])
+ arising from the literal `2'
+ Possible fix: add an instance declaration for (Num [t0])
+ In the second argument of `(+)', namely `2'
In the expression: z + 2
In the expression: \ (y : z) -> z + 2
- In an equation for `q': q = \ (y : z) -> z + 2
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail012.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail012.stderr
index 96eb26a5aa..7fe9b18d47 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail012.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail012.stderr
@@ -1,5 +1,5 @@
tcfail012.hs:3:8:
- Couldn't match expected type `Bool' with actual type `[a]'
+ Couldn't match expected type `Bool' with actual type `[a0]'
In the expression: []
In a pattern binding: True = []
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail013.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail013.stderr
index 91f2751991..439a663c5c 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail013.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail013.stderr
@@ -1,5 +1,5 @@
tcfail013.hs:4:3:
- Couldn't match expected type `[t]' with actual type `Bool'
+ Couldn't match expected type `[t0]' with actual type `Bool'
In the pattern: True
In an equation for `f': f True = 2
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail014.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail014.stderr
index 0fc72f5718..d46bf92db3 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail014.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail014.stderr
@@ -1,6 +1,6 @@
tcfail014.hs:5:33:
- Occurs check: cannot construct the infinite type: t1 = t1 -> t
+ Occurs check: cannot construct the infinite type: t1 = t1 -> t0
In the first argument of `z', namely `z'
In the expression: z z
In an equation for `h': h z = z z
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail015.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail015.stderr
index 0c21fe3888..52dc7956cd 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail015.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail015.stderr
@@ -1,7 +1,10 @@
-tcfail015.hs:7:13:
+tcfail015.hs:9:39:
No instance for (Num Bool)
- arising from the literal `2'
+ arising from the literal `4'
Possible fix: add an instance declaration for (Num Bool)
- In the expression: 2
- In an equation for `g': g (ANull) = 2
+ In the expression: 4
+ In an equation for `g':
+ g (ANode b (ANode c d))
+ | b = c + 1
+ | otherwise = 4
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail016.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail016.stderr
index 8db38b4c9e..6420918b37 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail016.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail016.stderr
@@ -1,6 +1,7 @@
-
-tcfail016.hs:9:20:
- Couldn't match expected type `Expr t' with actual type `AnnExpr t'
- In the first argument of `g', namely `e1'
- In the first argument of `(++)', namely `(g e1)'
- In the expression: (g e1) ++ (g e2)
+
+tcfail016.hs:9:20:
+ Couldn't match expected type `Expr t0'
+ with actual type `AnnExpr t0'
+ In the first argument of `g', namely `e1'
+ In the first argument of `(++)', namely `(g e1)'
+ In the expression: (g e1) ++ (g e2)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail017.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail017.stderr
index ee4c8edbbc..4f09814afa 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail017.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail017.stderr
@@ -1,7 +1,9 @@
tcfail017.hs:10:10:
- Could not deduce (C [a]) from the context (B a)
+ Could not deduce (C [a])
arising from the superclasses of an instance declaration
+ from the context (B a)
+ bound by the instance declaration at tcfail017.hs:10:10-23
Possible fix:
add (C [a]) to the context of the instance declaration
or add an instance declaration for (C [a])
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail018.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail018.stderr
index dee85bb203..67ee509537 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail018.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail018.stderr
@@ -1,7 +1,7 @@
tcfail018.hs:5:10:
- No instance for (Num [t])
+ No instance for (Num [t0])
arising from the literal `1'
- Possible fix: add an instance declaration for (Num [t])
+ Possible fix: add an instance declaration for (Num [t0])
In the expression: 1
In a pattern binding: (a : []) = 1
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail019.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail019.stderr
index f40e0f513e..d63961b8b6 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail019.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail019.stderr
@@ -1,6 +1,6 @@
-
-tcfail019.hs:18:10:
- No instances for (C [a], B [a])
- arising from the superclasses of an instance declaration
- Possible fix: add instance declarations for (C [a], B [a])
- In the instance declaration for `D [a]'
+
+tcfail019.hs:18:10:
+ No instances for (B [a], C [a])
+ arising from the superclasses of an instance declaration
+ Possible fix: add instance declarations for (B [a], C [a])
+ In the instance declaration for `D [a]'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail020.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail020.stderr
index d559d6581e..3e0df9e42b 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail020.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail020.stderr
@@ -1,7 +1,9 @@
tcfail020.hs:10:10:
- Could not deduce (A [a]) from the context (A a)
+ Could not deduce (A [a])
arising from the superclasses of an instance declaration
+ from the context (A a)
+ bound by the instance declaration at tcfail020.hs:10:10-23
Possible fix:
add (A [a]) to the context of the instance declaration
or add an instance declaration for (A [a])
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail028.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail028.stderr
index 4113f0bca7..7ad9ecbb23 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail028.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail028.stderr
@@ -1,7 +1,7 @@
tcfail028.hs:4:17:
`A a' is not applied to enough type arguments
- Expected kind `?', but `A a' has kind `k -> *'
+ Expected kind `?', but `A a' has kind `k0 -> *'
In the type `A a'
In the definition of data constructor `B'
In the data type declaration for `A'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail032.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail032.stderr
index b0bafe9482..8cb4c1b99a 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail032.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail032.stderr
@@ -1,10 +1,14 @@
tcfail032.hs:14:8:
- Couldn't match type `t' with `a -> Int'
- because type variable `a' would escape its scope
- This (rigid, skolem) type variable is bound by
- an expression type signature
- The following variables have types that mention t
- x :: t (bound at tcfail032.hs:14:3)
+ Could not deduce (t ~ (a1 -> Int))
+ from the context (Eq a)
+ bound by the inferred type of f :: Eq a => t -> a -> Int
+ at tcfail032.hs:14:1-31
+ or from (Eq a1)
+ bound by an expression type signature: Eq a1 => a1 -> Int
+ at tcfail032.hs:14:8-30
+ `t' is a rigid type variable bound by
+ the inferred type of f :: Eq a => t -> a -> Int
+ at tcfail032.hs:14:1
In the expression: (x :: Eq a => a -> Int)
In an equation for `f': f x = (x :: Eq a => a -> Int)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail033.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail033.stderr
index b15afe7037..1d7a51d4c1 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail033.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail033.stderr
@@ -1,6 +1,6 @@
tcfail033.hs:4:12:
- Occurs check: cannot construct the infinite type: t = (t, t1)
+ Occurs check: cannot construct the infinite type: t0 = (t0, t1)
In the expression: x
In a stmt of a list comprehension: (x, y) <- buglet
In the expression: [x | (x, y) <- buglet]
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail034.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail034.stderr
index 323d9a18da..db8e148eb9 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail034.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail034.stderr
@@ -1,9 +1,12 @@
tcfail034.hs:17:13:
- Could not deduce (Integral a) from the context (Num a, Eq a)
- arising from a use of `mod'
+ Could not deduce (Integral a) arising from a use of `mod'
+ from the context (Num a, Eq a)
+ bound by the type signature for test :: (Num a, Eq a) => a -> Bool
+ at tcfail034.hs:17:1-25
Possible fix:
- add (Integral a) to the context of the type signature for `test'
+ add (Integral a) to the context of
+ the type signature for test :: (Num a, Eq a) => a -> Bool
In the first argument of `(==)', namely `(x `mod` 3)'
In the expression: (x `mod` 3) == 0
In an equation for `test': test x = (x `mod` 3) == 0
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail040.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail040.stderr
index 45eedc2e78..8d30ec57a2 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail040.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail040.stderr
@@ -1,8 +1,8 @@
-tcfail040.hs:19:5:
- Ambiguous type variable `a' in the constraint:
- (ORD a) arising from a use of `<<'
+tcfail040.hs:19:14:
+ Ambiguous type variable `a0' in the constraint:
+ (ORD a0) arising from a use of `<<'
Probable fix: add a type signature that fixes these type variable(s)
- In the first argument of `(===)', namely `(<<)'
+ In the second argument of `(===)', namely `(<<)'
In the expression: (<<) === (<<)
In an equation for `f': f = (<<) === (<<)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail042.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail042.stderr
index 0158066a04..76031bb221 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail042.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail042.stderr
@@ -1,7 +1,9 @@
tcfail042.hs:15:10:
- Could not deduce (Num a) from the context (Eq a, Show a)
+ Could not deduce (Num a)
arising from the superclasses of an instance declaration
+ from the context (Eq a, Show a)
+ bound by the instance declaration at tcfail042.hs:15:10-34
Possible fix:
add (Num a) to the context of the instance declaration
In the instance declaration for `Bar [a]'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail043.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail043.stderr
index 94131cb69d..0245eb7c15 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail043.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail043.stderr
@@ -1,20 +1,16 @@
-tcfail043.hs:38:17:
- Ambiguous type variable `a' in the constraint:
- (Ord_ a) arising from a use of `gt'
+tcfail043.hs:40:25:
+ Ambiguous type variable `a0' in the constraints:
+ (Eq_ a0) arising from a use of `eq' at tcfail043.hs:40:25-26
+ (Ord_ a0) arising from a use of `gt' at tcfail043.hs:38:17-18
Possible cause: the monomorphism restriction applied to the following:
- search :: a -> [a] -> Bool (bound at tcfail043.hs:37:1)
+ search :: a0 -> [a0] -> Bool (bound at tcfail043.hs:37:1)
Probable fix: give these definition(s) an explicit type signature
or use -XNoMonomorphismRestriction
- In the expression: gt (hd bs) a
+ In the expression: eq a (hd bs)
+ In the expression: if eq a (hd bs) then True else search a (tl bs)
In the expression:
- if gt (hd bs) a then
- False
- else
- if eq a (hd bs) then True else search a (tl bs)
- In the expression:
- \ a bs
- -> if gt (hd bs) a then
- False
- else
- if eq a (hd bs) then True else search a (tl bs)
+ if gt (hd bs) a then
+ False
+ else
+ if eq a (hd bs) then True else search a (tl bs)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail046.hs b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail046.hs
index 6f8185c8c4..67225acde0 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail046.hs
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail046.hs
@@ -3,10 +3,11 @@
module ShouldFail where
-type Process a = Pid -> Time -> Message a -> ( MessList a,
+
+type Process a = Pid -> Time -> Message a -> ( MessList a,
Continuation a)
-data Continuation a = Do (Process a) deriving Eq
+data Continuation a = Do (Process a) deriving Eq
type ProcList a = [ (Pid, Status, Process a) ]
@@ -18,7 +19,7 @@ data Message a = Create (Process a) | Created Pid | Activate Pid |
Passivate Pid | Terminate Pid | Wait Pid Time |
Query Pid a | Data Pid a | Event |
Output Pid String
- deriving Eq
+ deriving Eq
type MessList a = [ Message a ]
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail046.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail046.stderr
index 8fcc0dec4d..1b668d07a6 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail046.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail046.stderr
@@ -1,16 +1,18 @@
-tcfail046.hs:9:50:
+tcfail046.hs:10:50:
No instance for (Eq (Process a))
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Eq (Process a))
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Eq (Process a))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Eq (Continuation a))
-tcfail046.hs:21:27:
+tcfail046.hs:22:25:
No instance for (Eq (Process a))
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Eq (Process a))
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Eq (Process a))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Eq (Message a))
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail065.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail065.stderr
index 5a10adea10..9d94b920ff 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail065.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail065.stderr
@@ -2,7 +2,8 @@
tcfail065.hs:29:20:
Couldn't match type `x1' with `x'
`x1' is a rigid type variable bound by
- the type signature for `setX' at tcfail065.hs:25:11
+ the type signature for setX :: x1 -> X x -> X x
+ at tcfail065.hs:29:3
`x' is a rigid type variable bound by
the instance declaration at tcfail065.hs:28:18
In the first argument of `X', namely `x'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail067.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail067.stderr
index 49400d1146..41dc1b0e47 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail067.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail067.stderr
@@ -13,26 +13,33 @@ tcfail067.hs:15:11:
In an equation for `subRange': subRange (SubRange r value) = r
tcfail067.hs:46:12:
- Could not deduce (Ord a) from the context (Show a)
- arising from a use of `SubRange'
+ Could not deduce (Ord a) arising from a use of `SubRange'
+ from the context (Show a)
+ bound by the type signature for
+ showRange :: Show a => SubRange a -> String
+ at tcfail067.hs:(46,1)-(47,58)
Possible fix:
- add (Ord a) to the context of the type signature for `showRange'
+ add (Ord a) to the context of
+ the type signature for showRange :: Show a => SubRange a -> String
In the pattern: SubRange (lower, upper) value
In an equation for `showRange':
showRange (SubRange (lower, upper) value)
- = show value ++ " :" ++ show lower ++ ".." ++ show upper
+ = show value ++ " :" ++ show lower ++ ".." ++ show upper
tcfail067.hs:60:10:
- Could not deduce (Show (SubRange a)) from the context (Num a)
+ Could not deduce (Show (SubRange a))
arising from the superclasses of an instance declaration
+ from the context (Num a)
+ bound by the instance declaration at tcfail067.hs:60:10-34
Possible fix:
add (Show (SubRange a)) to the context of the instance declaration
or add an instance declaration for (Show (SubRange a))
In the instance declaration for `Num (SubRange a)'
tcfail067.hs:61:12:
- Could not deduce (Ord a) from the context (Num a)
- arising from a use of `numSubRangeNegate'
+ Could not deduce (Ord a) arising from a use of `numSubRangeNegate'
+ from the context (Num a)
+ bound by the instance declaration at tcfail067.hs:60:10-34
Possible fix:
add (Ord a) to the context of the instance declaration
In the expression: numSubRangeNegate
@@ -40,26 +47,33 @@ tcfail067.hs:61:12:
In the instance declaration for `Num (SubRange a)'
tcfail067.hs:65:19:
- Could not deduce (Ord a) from the context (Num a)
- arising from a use of `SubRange'
+ Could not deduce (Ord a) arising from a use of `SubRange'
+ from the context (Num a)
+ bound by the instance declaration at tcfail067.hs:60:10-34
Possible fix:
add (Ord a) to the context of the instance declaration
In the expression:
- SubRange (fromInteger a, fromInteger a) (fromInteger a)
+ SubRange (fromInteger a, fromInteger a) (fromInteger a)
In an equation for `fromInteger':
- fromInteger a = SubRange
- (fromInteger a, fromInteger a) (fromInteger a)
+ fromInteger a
+ = SubRange (fromInteger a, fromInteger a) (fromInteger a)
In the instance declaration for `Num (SubRange a)'
tcfail067.hs:74:5:
- Could not deduce (Ord a) from the context (Num a)
- arising from a use of `SubRange'
+ Could not deduce (Ord a) arising from a use of `SubRange'
+ from the context (Num a)
+ bound by the type signature for
+ numSubRangeBinOp :: Num a =>
+ (a -> a -> a) -> SubRange a -> SubRange a -> SubRange a
+ at tcfail067.hs:(73,1)-(76,53)
Possible fix:
add (Ord a) to the context of
- the type signature for `numSubRangeBinOp'
+ the type signature for
+ numSubRangeBinOp :: Num a =>
+ (a -> a -> a) -> SubRange a -> SubRange a -> SubRange a
In the expression: SubRange (result, result) result
In an equation for `numSubRangeBinOp':
numSubRangeBinOp op a b
- = SubRange (result, result) result
- where
- result = (subRangeValue a) `op` (subRangeValue b)
+ = SubRange (result, result) result
+ where
+ result = (subRangeValue a) `op` (subRangeValue b)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail068.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail068.stderr
index 45b70b9232..afc671a8bf 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail068.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail068.stderr
@@ -1,70 +1,92 @@
tcfail068.hs:14:9:
- Could not deduce (s1 ~ s) from the context (Constructed a)
+ Could not deduce (s1 ~ s)
+ from the context (Constructed a)
+ bound by the type signature for
+ itgen :: Constructed a => (Int, Int) -> a -> IndTree s a
+ at tcfail068.hs:(12,1)-(14,31)
`s1' is a rigid type variable bound by
- the polymorphic type `forall s. GHC.ST.ST s a' at tcfail068.hs:13:9
+ a type expected by the context: GHC.ST.ST s1 (IndTree s a)
+ at tcfail068.hs:13:9
`s' is a rigid type variable bound by
- the type signature for `itgen' at tcfail068.hs:11:53
+ the type signature for
+ itgen :: Constructed a => (Int, Int) -> a -> IndTree s a
+ at tcfail068.hs:12:1
+ Expected type: GHC.ST.ST s (IndTree s1 a)
+ Actual type: GHC.ST.ST s (STArray s (Int, Int) a)
+ In the return type of a call of `newSTArray'
In the first argument of `runST', namely
`(newSTArray ((1, 1), n) x)'
- In the expression: runST (newSTArray ((1, 1), n) x)
- In an equation for `itgen':
- itgen n x = runST (newSTArray ((1, 1), n) x)
-tcfail068.hs:19:21:
- Could not deduce (s ~ s1) from the context (Constructed a)
+tcfail068.hs:20:22:
+ Could not deduce (s ~ s1)
+ from the context (Constructed a)
+ bound by the type signature for
+ itiap :: Constructed a =>
+ (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a
+ at tcfail068.hs:(17,1)-(21,19)
`s' is a rigid type variable bound by
- the type signature for `itiap' at tcfail068.hs:16:58
+ the type signature for
+ itiap :: Constructed a =>
+ (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a
+ at tcfail068.hs:17:1
`s1' is a rigid type variable bound by
- the polymorphic type `forall s. GHC.ST.ST s a' at tcfail068.hs:18:9
- In the first argument of `readSTArray', namely `arr'
- In the first argument of `(>>=)', namely `readSTArray arr i'
- In the first argument of `runST', namely
- `(readSTArray arr i
- >>=
- \ val -> writeSTArray arr i (f val) >> return arr)'
+ a type expected by the context: GHC.ST.ST s1 (IndTree s a)
+ at tcfail068.hs:18:9
+ Expected type: STArray s1 (Int, Int) a
+ Actual type: IndTree s a
+ In the first argument of `writeSTArray', namely `arr'
+ In the first argument of `(>>)', namely
+ `writeSTArray arr i (f val)'
tcfail068.hs:24:35:
- Could not deduce (s ~ s1) from the context (Constructed a)
+ Could not deduce (s ~ s1)
+ from the context (Constructed a)
+ bound by the type signature for
+ itrap :: Constructed a =>
+ ((Int, Int), (Int, Int)) -> (a -> a) -> IndTree s a -> IndTree s a
+ at tcfail068.hs:(24,1)-(32,41)
`s' is a rigid type variable bound by
- the type signature for `itrap' at tcfail068.hs:23:70
+ the type signature for
+ itrap :: Constructed a =>
+ ((Int, Int), (Int, Int)) -> (a -> a) -> IndTree s a -> IndTree s a
+ at tcfail068.hs:24:1
`s1' is a rigid type variable bound by
- the polymorphic type `forall s. GHC.ST.ST s a'
- at tcfail068.hs:24:29
+ a type expected by the context: GHC.ST.ST s1 (IndTree s a)
+ at tcfail068.hs:24:29
+ Expected type: GHC.ST.ST s1 (IndTree s a)
+ Actual type: GHC.ST.ST s (IndTree s a)
+ In the return type of a call of `itrap''
In the first argument of `runST', namely `(itrap' i k)'
- In the expression: runST (itrap' i k)
- In an equation for `itrap':
- itrap ((i, k), (j, l)) f arr
- = runST (itrap' i k)
- where
- itrap' i k
- = if k > l then return arr else (itrapsnd i k >> itrap' i (k + 1))
- itrapsnd i k
- = if i > j then
- return arr
- else
- (readSTArray arr (i, k) >>= \ val -> ...)
tcfail068.hs:36:46:
- Could not deduce (s ~ s1) from the context (Constructed b)
+ Could not deduce (s ~ s1)
+ from the context (Constructed b)
+ bound by the type signature for
+ itrapstate :: Constructed b =>
+ ((Int, Int), (Int, Int))
+ -> (a -> b -> (a, b))
+ -> ((Int, Int) -> c -> a)
+ -> (a -> c)
+ -> c
+ -> IndTree s b
+ -> (c, IndTree s b)
+ at tcfail068.hs:(36,1)-(45,66)
`s' is a rigid type variable bound by
- the type signature for `itrapstate' at tcfail068.hs:35:40
+ the type signature for
+ itrapstate :: Constructed b =>
+ ((Int, Int), (Int, Int))
+ -> (a -> b -> (a, b))
+ -> ((Int, Int) -> c -> a)
+ -> (a -> c)
+ -> c
+ -> IndTree s b
+ -> (c, IndTree s b)
+ at tcfail068.hs:36:1
`s1' is a rigid type variable bound by
- the polymorphic type `forall s. GHC.ST.ST s a'
- at tcfail068.hs:36:40
+ a type expected by the context: GHC.ST.ST s1 (c, IndTree s b)
+ at tcfail068.hs:36:40
+ Expected type: GHC.ST.ST s1 (c, IndTree s b)
+ Actual type: GHC.ST.ST s (c, IndTree s b)
+ In the return type of a call of `itrapstate''
In the first argument of `runST', namely `(itrapstate' i k s)'
- In the expression: runST (itrapstate' i k s)
- In an equation for `itrapstate':
- itrapstate ((i, k), (j, l)) f c d s arr
- = runST (itrapstate' i k s)
- where
- itrapstate' i k s
- = if k > l then
- return (s, arr)
- else
- (itrapstatesnd i k s >>= \ (s, arr) -> ...)
- itrapstatesnd i k s
- = if i > j then
- return (s, arr)
- else
- (readSTArray arr (i, k) >>= \ val -> ...)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail069.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail069.stderr
index 7b9f367751..4c40526b5b 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail069.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail069.stderr
@@ -1,7 +1,7 @@
tcfail069.hs:21:7:
Couldn't match expected type `([Int], [Int])'
- with actual type `[t]'
+ with actual type `[t0]'
In the pattern: []
In a case alternative: [] -> error "foo"
In the expression: case (list1, list2) of { [] -> error "foo" }
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail072.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail072.stderr
index bc814e0c83..469e75849a 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail072.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail072.stderr
@@ -1,14 +1,14 @@
tcfail072.hs:23:13:
- Ambiguous type variable `p' in the constraint:
- (Ord p) arising from a use of `g'
+ Ambiguous type variable `p0' in the constraint:
+ (Ord p0) arising from a use of `g'
Probable fix: add a type signature that fixes these type variable(s)
In the expression: g A
In an equation for `g': g (B _ _) = g A
tcfail072.hs:23:13:
- Ambiguous type variable `q' in the constraint:
- (Ord q) arising from a use of `g'
+ Ambiguous type variable `q0' in the constraint:
+ (Ord q0) arising from a use of `g'
Probable fix: add a type signature that fixes these type variable(s)
In the expression: g A
In an equation for `g': g (B _ _) = g A
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail076.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail076.stderr
index 4538b1d8c6..9c380de958 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail076.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail076.stderr
@@ -2,11 +2,12 @@
tcfail076.hs:18:82:
Couldn't match type `res' with `res1'
`res' is a rigid type variable bound by
- the polymorphic type `forall res. (a -> m res) -> m res'
- at tcfail076.hs:18:28
+ a type expected by the context: (a -> m res) -> m res
+ at tcfail076.hs:18:28
`res1' is a rigid type variable bound by
- the polymorphic type `forall res. (a1 -> m1 res) -> m1 res'
- at tcfail076.hs:18:64
+ a type expected by the context: (b -> m res1) -> m res1
+ at tcfail076.hs:18:64
+ Expected type: m res1
+ Actual type: m res
+ In the return type of a call of `cont'
In the expression: cont a
- In the first argument of `KContT', namely `(\ cont' -> cont a)'
- In the expression: KContT (\ cont' -> cont a)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail090.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail090.stderr
index 72b337c003..c63ced52c3 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail090.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail090.stderr
@@ -1,7 +1,7 @@
tcfail090.hs:8:9:
Kind incompatibility when matching types:
- a :: *
+ a0 :: *
ByteArray# :: #
In the expression: undefined
In an equation for `die': die _ = undefined
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail099.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail099.stderr
index ef9cce0548..f97c5a1161 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail099.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail099.stderr
@@ -1,8 +1,13 @@
-tcfail099.hs:9:7:
+tcfail099.hs:9:20:
Couldn't match type `t' with `a'
- because type variable `a' would escape its scope
- This (rigid, skolem) type variable is bound by
- a pattern with constructor C :: forall a. (a -> Int) -> DS
- In the pattern: C f
+ `t' is a rigid type variable bound by
+ the inferred type of call :: DS -> t -> Int at tcfail099.hs:9:1
+ `a' is a rigid type variable bound by
+ a pattern with constructor
+ C :: forall a. (a -> Int) -> DS,
+ in an equation for `call'
+ at tcfail099.hs:9:7
+ In the first argument of `f', namely `arg'
+ In the expression: f arg
In an equation for `call': call (C f) arg = f arg
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail102.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail102.stderr
index 349f1e8320..27fa9aebf5 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail102.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail102.stderr
@@ -1,11 +1,14 @@
-tcfail102.hs:8:15:
- Could not deduce (Integral (Ratio a)) from the context (Integral a)
- arising from a use of `p'
+tcfail102.hs:8:7:
+ Could not deduce (Integral (Ratio a)) arising from a record update
+ from the context (Integral a)
+ bound by the type signature for
+ f :: Integral a => P (Ratio a) -> P (Ratio a)
+ at tcfail102.hs:8:1-19
Possible fix:
add (Integral (Ratio a)) to the context of
- the type signature for `f'
+ the type signature for
+ f :: Integral a => P (Ratio a) -> P (Ratio a)
or add an instance declaration for (Integral (Ratio a))
- In the `p' field of a record
In the expression: x {p = p x}
In an equation for `f': f x = x {p = p x}
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail103.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail103.stderr
index 2d3e292fec..636ab29ae7 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail103.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail103.stderr
@@ -2,9 +2,10 @@
tcfail103.hs:15:23:
Couldn't match type `t' with `s'
`t' is a rigid type variable bound by
- the type signature for `f' at tcfail103.hs:10:8
+ the type signature for f :: ST t Int at tcfail103.hs:11:1
`s' is a rigid type variable bound by
- the type signature for `g' at tcfail103.hs:13:17
+ the type signature for g :: ST s Int at tcfail103.hs:15:9
+ Expected type: STRef s Int
+ Actual type: STRef t Int
In the first argument of `readSTRef', namely `v'
In the expression: readSTRef v
- In an equation for `g': g = readSTRef v
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail104.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail104.stderr
index b317427522..8bd4608bde 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail104.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail104.stderr
@@ -1,7 +1,7 @@
tcfail104.hs:16:19:
- Couldn't match expected type `a -> a'
- with actual type `forall a1. a1 -> a1'
+ Couldn't match expected type `a0 -> a0'
+ with actual type `forall a. a -> a'
In the expression: x
In the expression: (\ x -> x)
In the expression:
@@ -9,7 +9,7 @@ tcfail104.hs:16:19:
tcfail104.hs:22:39:
Couldn't match expected type `forall a. a -> a'
- with actual type `a -> a'
+ with actual type `a0 -> a0'
In the expression: x
In the expression: (\ (x :: forall a. a -> a) -> x)
In the expression:
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail106.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail106.stderr
index e9de772233..30004791ce 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail106.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail106.stderr
@@ -4,9 +4,3 @@ tcfail106.hs:11:10:
arising from the superclasses of an instance declaration
Possible fix: add an instance declaration for (S Int)
In the instance declaration for `C Int'
-
-tcfail106.hs:14:10:
- No instance for (S Int)
- arising from the superclasses of an instance declaration
- Possible fix: add an instance declaration for (S Int)
- In the instance declaration for `D Int'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail115.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail115.stderr
index cb5a87790f..fd1a02c02d 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail115.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail115.stderr
@@ -1,7 +1,7 @@
tcfail115.hs:9:24:
Kind incompatibility when matching types:
- t :: ??
+ t0 :: ??
(# Int, Int #) :: (#)
In the expression: (r :: (# Int, Int #))
In a case alternative: r -> (r :: (# Int, Int #))
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail118.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail118.stderr
index 47b0bef641..206bec47be 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail118.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail118.stderr
@@ -5,6 +5,4 @@ tcfail118.hs:10:29:
Matching instances:
instance Eq Foo -- Defined at tcfail118.hs:11:25-26
instance Eq Foo -- Defined at tcfail118.hs:13:10-15
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
When deriving the instance for (Eq Bar)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail122.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail122.stderr
index 2a28e8f5cb..3f6c035a55 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail122.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail122.stderr
@@ -1,24 +1,20 @@
tcfail122.hs:8:9:
Kind incompatibility when matching types:
- d :: * -> *
- b :: *
+ d0 :: * -> *
+ b0 :: *
+ Expected type: a0 b0
+ Actual type: c0 d0
In the expression:
undefined :: forall c :: ((* -> *) -> *) d :: (* -> *). c d
In the expression:
[undefined :: forall a b. a b,
undefined :: forall c :: ((* -> *) -> *) d :: (* -> *). c d]
- In an equation for `foo':
- foo
- = [undefined :: forall a b. a b,
- undefined :: forall c :: ((* -> *) -> *) d :: (* -> *). c d]
tcfail122.hs:8:9:
Kind incompatibility when matching types:
- c :: (* -> *) -> *
- a :: * -> *
- Expected type: a b
- Actual type: c d
+ c0 :: (* -> *) -> *
+ a0 :: * -> *
In the expression:
undefined :: forall c :: ((* -> *) -> *) d :: (* -> *). c d
In the expression:
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail123.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail123.stderr
index 8d048f0274..560c8d9048 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail123.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail123.stderr
@@ -1,7 +1,7 @@
tcfail123.hs:11:10:
Kind incompatibility when matching types:
- t :: *
+ t0 :: *
GHC.Prim.Int# :: #
In the first argument of `f', namely `3#'
In the expression: f 3#
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail128.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail128.stderr
index b8cac69900..122313fec1 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail128.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail128.stderr
@@ -1,10 +1,10 @@
tcfail128.hs:18:16:
- No instance for (Data.Array.Base.MArray b FlatVector IO)
+ No instance for (Data.Array.Base.MArray b0 FlatVector IO)
arising from a use of `thaw'
Possible fix:
add an instance declaration for
- (Data.Array.Base.MArray b FlatVector IO)
+ (Data.Array.Base.MArray b0 FlatVector IO)
In a stmt of a 'do' expression: v <- thaw tmp
In the expression:
do { let sL = ...
@@ -13,7 +13,8 @@ tcfail128.hs:18:16:
v <- thaw tmp;
return () }
In an equation for `main':
- main = do { let sL = ...
- ....;
- v <- thaw tmp;
- return () }
+ main
+ = do { let sL = ...
+ ....;
+ v <- thaw tmp;
+ return () }
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail131.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail131.stderr
index 59a0c7f702..134b76ffb3 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail131.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail131.stderr
@@ -1,7 +1,11 @@
-tcfail131.hs:7:9:
- Could not deduce (b ~ Integer) from the context (Num b)
+tcfail131.hs:7:13:
+ Could not deduce (b ~ Integer)
+ from the context (Num b)
+ bound by the type signature for g :: Num b => b -> b
+ at tcfail131.hs:7:3-13
`b' is a rigid type variable bound by
- the type signature for `g' at tcfail131.hs:6:12
+ the type signature for g :: Num b => b -> b at tcfail131.hs:7:3
+ In the second argument of `f', namely `x'
In the expression: f x x
In an equation for `g': g x = f x x
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail132.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail132.stderr
index 921bf6edc1..b25f21a809 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail132.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail132.stderr
@@ -1,7 +1,7 @@
tcfail132.hs:17:37:
Kind mis-match
- The first argument of `T' should have kind `k -> k1 -> k2 -> *',
- but `Object f' f t' has kind `k -> k1 -> *'
+ The first argument of `T' should have kind `k0 -> k1 -> k2 -> *',
+ but `Object f' f t' has kind `k0 -> k1 -> *'
In the type `T (Object f' f t) (DUnit t)'
In the type synonym declaration for `LiftObject'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail133.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail133.stderr
index f9774f3691..4fef109db0 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail133.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail133.stderr
@@ -1,12 +1,12 @@
tcfail133.hs:68:14:
- No instance for (AddDigit (Zero :@ (One :@ One)) One c)
+ No instance for (AddDigit (Zero :@ (One :@ One)) One a0)
arising from a use of `add'
Possible fix:
add an instance declaration for
- (AddDigit (Zero :@ (One :@ One)) One c)
+ (AddDigit (Zero :@ (One :@ One)) One a0)
In the second argument of `($)', namely
- `add (One :@ Zero) (One :@ One)'
+ `add (One :@ Zero) (One :@ One)'
In the expression: show $ add (One :@ Zero) (One :@ One)
In an equation for `foo':
foo = show $ add (One :@ Zero) (One :@ One)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail135.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail135.stderr
index e8c8ab8f09..37274283ed 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail135.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail135.stderr
@@ -1,6 +1,6 @@
tcfail135.hs:6:23:
`f' is not applied to enough type arguments
- Expected kind `?', but `f' has kind `k -> *'
+ Expected kind `?', but `f' has kind `k0 -> *'
In the type `f a -> f'
In the class declaration for `Foo'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail142.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail142.stderr
index 2e5bee2446..cd0161658f 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail142.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail142.stderr
@@ -1,7 +1,7 @@
tcfail142.hs:21:12:
- Ambiguous type variables `a', `r' in the constraint:
- (Bar a r) arising from a use of `bar'
+ Ambiguous type variables `a0', `r0' in the constraint:
+ (Bar a0 r0) arising from a use of `bar'
Probable fix: add a type signature that fixes these type variable(s)
In the first argument of `foo', namely `bar'
In the expression: foo bar
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail143.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail143.stderr
index d293fadc46..30926b648c 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail143.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail143.stderr
@@ -1,10 +1,10 @@
tcfail143.hs:29:9:
- Couldn't match type `Z' with `S Z'
+ Couldn't match type `S Z' with `Z'
When using functional dependencies to combine
- MinMax Z b Z b,
- arising from the dependency `b c d -> a'
- in the instance declaration at tcfail143.hs:12:10
+ MinMax a Z Z a,
+ arising from the dependency `a b -> c d'
+ in the instance declaration at tcfail143.hs:11:10
MinMax (S Z) Z Z Z,
arising from a use of `extend' at tcfail143.hs:29:9-16
In the expression: n1 `extend` n0
@@ -13,9 +13,9 @@ tcfail143.hs:29:9:
tcfail143.hs:29:9:
Couldn't match type `Z' with `S Z'
When using functional dependencies to combine
- MinMax a Z Z a,
+ MinMax Z Z Z Z,
arising from the dependency `b c d -> a'
- in the instance declaration at tcfail143.hs:11:10
+ in the instance declaration at tcfail143.hs:10:10
MinMax (S Z) Z Z Z,
arising from a use of `extend' at tcfail143.hs:29:9-16
In the expression: n1 `extend` n0
@@ -24,20 +24,20 @@ tcfail143.hs:29:9:
tcfail143.hs:29:9:
Couldn't match type `Z' with `S Z'
When using functional dependencies to combine
- MinMax Z Z Z Z,
+ MinMax a Z Z a,
arising from the dependency `b c d -> a'
- in the instance declaration at tcfail143.hs:10:10
+ in the instance declaration at tcfail143.hs:11:10
MinMax (S Z) Z Z Z,
arising from a use of `extend' at tcfail143.hs:29:9-16
In the expression: n1 `extend` n0
In an equation for `t2': t2 = n1 `extend` n0
tcfail143.hs:29:9:
- Couldn't match type `S Z' with `Z'
+ Couldn't match type `Z' with `S Z'
When using functional dependencies to combine
- MinMax a Z Z a,
- arising from the dependency `a b -> c d'
- in the instance declaration at tcfail143.hs:11:10
+ MinMax Z b Z b,
+ arising from the dependency `b c d -> a'
+ in the instance declaration at tcfail143.hs:12:10
MinMax (S Z) Z Z Z,
arising from a use of `extend' at tcfail143.hs:29:9-16
In the expression: n1 `extend` n0
@@ -53,10 +53,3 @@ tcfail143.hs:29:9:
arising from a use of `extend' at tcfail143.hs:29:9-16
In the expression: n1 `extend` n0
In an equation for `t2': t2 = n1 `extend` n0
-
-tcfail143.hs:29:9:
- No instance for (MinMax (S Z) Z Z Z)
- arising from a use of `extend'
- Possible fix: add an instance declaration for (MinMax (S Z) Z Z Z)
- In the expression: n1 `extend` n0
- In an equation for `t2': t2 = n1 `extend` n0
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail147.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail147.stderr
index 6ae86bacfb..81e77fe648 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail147.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail147.stderr
@@ -1,7 +1,7 @@
tcfail147.hs:7:19:
`XClass' is not applied to enough type arguments
- Expected kind `?', but `XClass' has kind `k -> *'
+ Expected kind `?', but `XClass' has kind `k0 -> *'
In the type `XClass'
In the definition of data constructor `XCon'
In the data type declaration for `XData'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail153.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail153.stderr
index 84208f60f4..0b40df47d1 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail153.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail153.stderr
@@ -1,10 +1,12 @@
-tcfail153.hs:6:7:
+tcfail153.hs:6:9:
Couldn't match type `a' with `Bool'
`a' is a rigid type variable bound by
- the type signature for `f' at tcfail153.hs:5:6
+ the type signature for f :: a -> [a] at tcfail153.hs:6:1
+ In the first argument of `g', namely `x'
In the expression: g x
In an equation for `f':
- f x = g x
- where
- g y = if y then [] else [...]
+ f x
+ = g x
+ where
+ g y = if y then [] else [...]
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail159.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail159.stderr
index d6a5184e98..b389ef1e96 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail159.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail159.stderr
@@ -1,7 +1,7 @@
tcfail159.hs:9:11:
Kind incompatibility when matching types:
- t :: *
+ t0 :: *
(# Int, Int #) :: (#)
In the pattern: ~(# p, q #)
In a case alternative: ~(# p, q #) -> p
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail165.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail165.stderr
index ef5332323a..a4fed8c989 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail165.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail165.stderr
@@ -1,7 +1,7 @@
tcfail165.hs:15:23:
Couldn't match expected type `forall a. Show a => a -> String'
- with actual type `b -> String'
+ with actual type `b0 -> String'
In the second argument of `putMVar', namely
`(show :: forall b. Show b => b -> String)'
In the expression:
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail167.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail167.stderr
index 35e22c23a9..f62f524ebd 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail167.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail167.stderr
@@ -2,6 +2,8 @@
tcfail167.hs:14:14:
Couldn't match type `Char' with `Float'
Inaccessible code in
- a pattern with constructor `C2', in an equation for `inaccessible'
+ a pattern with constructor
+ C2 :: T Float,
+ in an equation for `inaccessible'
In the pattern: C2
In an equation for `inaccessible': inaccessible C2 = ' '
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail168.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail168.stderr
index 3958c9173e..e3dce618b1 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail168.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail168.stderr
@@ -1,15 +1,11 @@
tcfail168.hs:8:11:
- Couldn't match expected type `Char -> a' with actual type `IO ()'
+ Couldn't match expected type `Char -> a0' with actual type `IO ()'
+ In the return type of a call of `putChar'
In a stmt of a 'do' expression: putChar 'a'
In the expression:
- do { putChar;
- putChar 'a';
- putChar 'a';
- putChar 'a';
- .... }
- In an equation for `foo':
- foo = do { putChar;
- putChar 'a';
- putChar 'a';
- .... }
+ do { putChar;
+ putChar 'a';
+ putChar 'a';
+ putChar 'a';
+ .... }
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail169.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail169.stderr
index 438313a608..cfe63c06ee 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail169.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail169.stderr
@@ -2,7 +2,8 @@
tcfail169.hs:7:51:
No instance for (Show (Succ a))
arising from the 'deriving' clause of a data type declaration
- Possible fix: add an instance declaration for (Show (Succ a))
- Alternatively, use a standalone 'deriving instance' declaration,
- so you can specify the instance context yourself
+ Possible fix:
+ add an instance declaration for (Show (Succ a))
+ or use a standalone 'deriving instance' declaration,
+ so you can specify the instance context yourself
When deriving the instance for (Show (Seq a))
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail171.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail171.stderr
index b4efd33e32..b1860c201c 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail171.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail171.stderr
@@ -1,6 +1,6 @@
-
-tcfail171.hs:9:10:
- No instances for (PrintfType b, PrintfArg a)
- arising from a use of `printf'
- In the expression: printf "0x%x" x
- In an equation for `phex': phex x = printf "0x%x" x
+
+tcfail171.hs:9:10:
+ No instances for (PrintfArg a, PrintfType b)
+ arising from a use of `printf'
+ In the expression: printf "0x%x" x
+ In an equation for `phex': phex x = printf "0x%x" x
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail174.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail174.stderr
index 7ad3d80408..84c0868db4 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail174.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail174.stderr
@@ -1,23 +1,23 @@
tcfail174.hs:9:10:
Couldn't match expected type `forall a. a -> a'
- with actual type `a -> a'
+ with actual type `a0 -> a0'
In the first argument of `Base', namely `id'
In the expression: Base id
In an equation for `g': g = Base id
tcfail174.hs:13:14:
- Couldn't match expected type `forall x. x -> a'
- with actual type `forall a1. a1 -> a1'
- Expected type: Capture (forall x. x -> a)
- Actual type: Capture (forall a1. a1 -> a1)
+ Couldn't match expected type `forall x. x -> a0'
+ with actual type `forall a. a -> a'
+ Expected type: Capture (forall x. x -> a0)
+ Actual type: Capture (forall a. a -> a)
In the first argument of `Capture', namely `g'
In the expression: Capture g
tcfail174.hs:16:14:
Couldn't match expected type `forall x. x -> b'
with actual type `forall a. a -> a'
- Expected type: Capture (forall x. x -> b)
- Actual type: Capture (forall a. a -> a)
+ Expected type: Capture (forall x. x -> b)
+ Actual type: Capture (forall a. a -> a)
In the first argument of `Capture', namely `g'
In the expression: Capture g
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail175.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail175.stderr
index f173cf7a0d..f181c00bcd 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail175.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail175.stderr
@@ -2,6 +2,6 @@
tcfail175.hs:11:1:
Couldn't match type `a' with `String -> String -> String'
`a' is a rigid type variable bound by
- the type signature for `evalRHS' at tcfail175.hs:10:19
+ the type signature for evalRHS :: Int -> a at tcfail175.hs:11:1
The equation(s) for `evalRHS' have three arguments,
but its type `Int -> a' has only one
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail177.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail177.stderr
index 1a19d53900..3107d1e668 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail177.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail177.stderr
@@ -1,8 +1,9 @@
-
-tcfail177.hs:10:12:
- Couldn't match expected type `Bool' with actual type `Int'
- In the expression:
- foo
- [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
- In an equation for `allTests':
- allTests = foo [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", ....]
+
+tcfail177.hs:10:12:
+ Couldn't match expected type `Bool' with actual type `Int'
+ In the return type of a call of `foo'
+ In the expression:
+ foo
+ [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
+ In an equation for `allTests':
+ allTests = foo [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", ....]
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail178.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail178.stderr
index 780e06a705..63119af75e 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail178.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail178.stderr
@@ -1,13 +1,13 @@
tcfail178.hs:15:7:
- Couldn't match expected type `[a]' with actual type `()'
- Expected type: Bool -> [a]
- Actual type: Bool -> ()
+ Couldn't match expected type `[a0]' with actual type `()'
+ Expected type: Bool -> [a0]
+ Actual type: Bool -> ()
In the first argument of `a', namely `y'
In the expression: a y
tcfail178.hs:18:7:
- Couldn't match expected type `Bool -> [a]' with actual type `()'
+ Couldn't match expected type `Bool -> [a0]' with actual type `()'
In the first argument of `a', namely `()'
In the expression: a ()
In an equation for `d': d = a ()
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail179.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail179.stderr
index d2b5ad6ab4..ba995b65ea 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail179.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail179.stderr
@@ -1,12 +1,14 @@
-tcfail179.hs:14:39:
+tcfail179.hs:14:41:
Couldn't match type `x' with `s'
`x' is a rigid type variable bound by
a pattern with constructor
- T :: forall s x. (s -> (x -> s) -> (x, s, Int)) -> T s
- at tcfail179.hs:14:14
+ T :: forall s x. (s -> (x -> s) -> (x, s, Int)) -> T s,
+ in a case alternative
+ at tcfail179.hs:14:14
`s' is a rigid type variable bound by
- the type signature for `run' at tcfail179.hs:12:10
- In the first argument of `g', namely `x'
+ the type signature for run :: T s -> Int at tcfail179.hs:13:1
+ Expected type: x -> s
+ Actual type: x -> x
+ In the second argument of `g', namely `id'
In the expression: g x id
- In a pattern binding: (x, _, b) = g x id
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail180.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail180.stderr
index 19bdd9bc14..96d76100ea 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail180.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail180.stderr
@@ -1,6 +1,6 @@
tcfail180.hs:10:9:
- Couldn't match expected type `f b' with actual type `Bool'
+ Couldn't match expected type `f0 b0' with actual type `Bool'
In the pattern: True
In a case alternative: True -> ()
In the expression: case p of { True -> () }
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail181.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail181.stderr
index dfc87ce8fe..59fe8b83af 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail181.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail181.stderr
@@ -1,7 +1,7 @@
tcfail181.hs:17:9:
- Ambiguous type variable `m' in the constraint:
- (Monad m) arising from a use of `foo'
+ Ambiguous type variable `m0' in the constraint:
+ (Monad m0) arising from a use of `foo'
Probable fix: add a type signature that fixes these type variable(s)
In the expression: foo
In the expression: foo {bar = return True}
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail182.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail182.stderr
index 75221e72a7..d6b97af250 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail182.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail182.stderr
@@ -1,6 +1,6 @@
tcfail182.hs:9:3:
Couldn't match expected type `Prelude.Maybe a'
- with actual type `Maybe t'
+ with actual type `Maybe t0'
In the pattern: Foo
In an equation for `f': f Foo = 3
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail186.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail186.stderr
index 453f815895..3f4504b810 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail186.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail186.stderr
@@ -1,7 +1,7 @@
-
-tcfail186.hs:7:9:
- Couldn't match expected type `PhantomSyn a'
- with actual type `[Char]'
- In the first argument of `f', namely `"hoo"'
- In the expression: f "hoo"
- In an equation for `foo': foo = f "hoo"
+
+tcfail186.hs:7:9:
+ Couldn't match expected type `PhantomSyn a0'
+ with actual type `[Char]'
+ In the first argument of `f', namely `"hoo"'
+ In the expression: f "hoo"
+ In an equation for `foo': foo = f "hoo"
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail189.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail189.stderr
index 7d062bf846..106caa5873 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail189.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail189.stderr
@@ -1,7 +1,7 @@
tcfail189.hs:9:31:
- Couldn't match expected type `a -> a1' with actual type `[a2]'
- Expected type: (a -> a1) -> [a] -> [[a]]
- Actual type: [a2] -> [a2]
+ Couldn't match expected type `a -> t0' with actual type `[a0]'
+ Expected type: (a -> t0) -> [a] -> [[a]]
+ Actual type: [a0] -> [a0]
+ In the return type of a call of `take'
In the expression: take 2
- In a stmt of a list comprehension: then group by x using take 2
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail191.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail191.stderr
index d70026b928..6fd626afd4 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail191.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail191.stderr
@@ -2,9 +2,8 @@
tcfail191.hs:11:26:
Couldn't match type `a' with `[a]'
`a' is a rigid type variable bound by
- the polymorphic type `forall a1. [a1] -> [[a1]]'
- at tcfail191.hs:11:9
+ a type expected by the context: [a] -> [[a]] at tcfail191.hs:11:9
+ Expected type: [a] -> [[a]]
+ Actual type: [a] -> [a]
+ In the return type of a call of `take'
In the expression: take 5
- In a stmt of a list comprehension: then group using take 5
- In the expression:
- [() | x <- [Gnorf, Brain], then group using take 5]
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail192.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail192.stderr
index 15e03bbbb2..d72c821fd6 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail192.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail192.stderr
@@ -1,20 +1,18 @@
-tcfail192.hs:8:11:
+tcfail192.hs:8:13:
No instance for (Num [[Char]])
- arising from a use of `+'
+ arising from the literal `1'
Possible fix: add an instance declaration for (Num [[Char]])
+ In the second argument of `(+)', namely `1'
In the expression: x + 1
In the expression:
[x + 1 | x <- ["Hello", "World"], then group using take 5]
- In an equation for `foo':
- foo = [x + 1 | x <- ["Hello", "World"], then group using take 5]
tcfail192.hs:10:26:
Couldn't match type `a' with `[a]'
`a' is a rigid type variable bound by
- the polymorphic type `forall a1. [a1] -> [[a1]]'
- at tcfail192.hs:10:9
+ a type expected by the context: [a] -> [[a]] at tcfail192.hs:10:9
+ Expected type: [a] -> [[a]]
+ Actual type: [a] -> [a]
+ In the return type of a call of `take'
In the expression: take 5
- In a stmt of a list comprehension: then group using take 5
- In the expression:
- [x + 1 | x <- ["Hello", "World"], then group using take 5]
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail193.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail193.stderr
index bd64d5231a..59be5fb41f 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail193.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail193.stderr
@@ -2,8 +2,8 @@
tcfail193.hs:10:31:
Couldn't match type `a' with `[a]'
`a' is a rigid type variable bound by
- the polymorphic type `forall a1. [a1] -> [a1]'
- at tcfail193.hs:10:10
+ a type expected by the context: [a] -> [a] at tcfail193.hs:10:10
+ Expected type: [a] -> [a]
+ Actual type: [a] -> [[a]]
In the expression: inits
In a stmt of a list comprehension: then inits
- In the expression: [x | x <- [3, 2, 1], then inits]
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail194.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail194.stderr
index cacf888f4b..2f05295327 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail194.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail194.stderr
@@ -1,7 +1,7 @@
tcfail194.hs:9:29:
- Couldn't match expected type `a -> a1' with actual type `[a2]'
- Expected type: (a -> a1) -> [a] -> [a]
- Actual type: [a2] -> [a2]
+ Couldn't match expected type `a -> t0' with actual type `[a0]'
+ Expected type: (a -> t0) -> [a] -> [a]
+ Actual type: [a0] -> [a0]
+ In the return type of a call of `take'
In the expression: take 5
- In a stmt of a list comprehension: then take 5 by x
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail198.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail198.stderr
index ceee0d4aee..e813158a62 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail198.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail198.stderr
@@ -1,6 +1,6 @@
tcfail198.hs:6:17:
- Couldn't match expected type `t -> t1'
+ Couldn't match expected type `t0 -> t1'
with actual type `forall a. [a] -> [a]'
The lambda expression `\ (x : xs) -> xs ++ ...'
has one argument one argument,
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail199.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail199.stderr
index 1056034857..6866a26452 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail199.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail199.stderr
@@ -1,5 +1,5 @@
tcfail199.hs:5:1:
- Couldn't match expected type `IO t' with actual type `[Char]'
+ Couldn't match expected type `IO t0' with actual type `[Char]'
In the expression: main
When checking the type of the function `main'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail200.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail200.stderr
index 9c1e023a91..90f590d8e2 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail200.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail200.stderr
@@ -1,7 +1,7 @@
tcfail200.hs:5:15:
Kind incompatibility when matching types:
- t :: *
+ t0 :: *
GHC.Prim.Int# :: #
In the expression: 1#
In the expression: (1#, 'c')
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail201.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail201.stderr
index 4c5d43c35e..653e503edc 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail201.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail201.stderr
@@ -1,11 +1,14 @@
-tcfail201.hs:17:27:
- Couldn't match type `a' with `HsDoc id'
+tcfail201.hs:18:58:
+ Couldn't match type `a' with `HsDoc t0'
`a' is a rigid type variable bound by
- the type signature for `gfoldl'' at tcfail201.hs:15:78
- In the pattern: DocEmpty
- In a case alternative: DocEmpty -> z DocEmpty
- In the expression:
- case hsDoc of {
- DocEmpty -> z DocEmpty
- (DocParagraph hsDoc) -> z DocParagraph `k` hsDoc }
+ the type signature for
+ gfoldl' :: (forall a1 b. c (a1 -> b) -> a1 -> c b)
+ -> (forall g. g -> c g)
+ -> a
+ -> c a
+ at tcfail201.hs:16:1
+ Expected type: HsDoc t0 -> a
+ Actual type: HsDoc t0 -> HsDoc t0
+ In the first argument of `z', namely `DocParagraph'
+ In the first argument of `k', namely `z DocParagraph'
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail204.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail204.stderr
index 2141a3e072..e9d9bb739d 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail204.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail204.stderr
@@ -1,10 +1,13 @@
-tcfail204.hs:10:7:
+tcfail204.hs:10:15:
Warning: Defaulting the following constraint(s) to type `Double'
- (RealFrac a) arising from a use of `ceiling'
+ (Fractional a0) arising from the literal `6.3'
+ at tcfail204.hs:10:15-17
+ (RealFrac a0) arising from a use of `ceiling'
+ at tcfail204.hs:10:7-13
+ In the first argument of `ceiling', namely `6.3'
In the expression: ceiling 6.3
In an equation for `foo': foo = ceiling 6.3
<no location info>:
Failing due to -Werror.
-
diff --git a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail206.stderr b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail206.stderr
index e3350960d7..46419c4522 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail206.stderr
+++ b/testsuite/tests/ghc-regress/typecheck/should_fail/tcfail206.stderr
@@ -1,44 +1,46 @@
tcfail206.hs:5:5:
Couldn't match expected type `Int' with actual type `Bool'
- Expected type: Bool -> (Int, Bool)
- Actual type: Bool -> (Bool, t)
+ Expected type: Bool -> (Int, Bool)
+ Actual type: Bool -> (Bool, t0)
In the expression: (, True)
In an equation for `a': a = (, True)
tcfail206.hs:8:5:
Couldn't match expected type `Bool -> (Int, Bool)'
- with actual type `(t, Int)'
- Expected type: Int -> Bool -> (Int, Bool)
- Actual type: Int -> (t, Int)
+ with actual type `(t0, Int)'
+ Expected type: Int -> Bool -> (Int, Bool)
+ Actual type: Int -> (t0, Int)
In the expression: (1,)
In an equation for `b': b = (1,)
-tcfail206.hs:11:5:
+tcfail206.hs:11:6:
Couldn't match type `a' with `Bool'
`a' is a rigid type variable bound by
- the type signature for `c' at tcfail206.hs:10:6
+ the type signature for c :: a -> (a, Bool) at tcfail206.hs:11:1
+ In the expression: True || False
In the expression: (True || False,)
In an equation for `c': c = (True || False,)
tcfail206.hs:14:5:
Couldn't match expected type `Int' with actual type `Bool'
- Expected type: Bool -> (# Int, Bool #)
- Actual type: Bool -> (# Bool, t #)
+ Expected type: Bool -> (# Int, Bool #)
+ Actual type: Bool -> (# Bool, t0 #)
In the expression: (# , True #)
In an equation for `d': d = (# , True #)
tcfail206.hs:17:5:
Couldn't match expected type `Bool -> (# Int, Bool #)'
- with actual type `(# t, Int #)'
- Expected type: Int -> Bool -> (# Int, Bool #)
- Actual type: Int -> (# t, Int #)
+ with actual type `(# t0, Int #)'
+ Expected type: Int -> Bool -> (# Int, Bool #)
+ Actual type: Int -> (# t0, Int #)
In the expression: (# 1, #)
In an equation for `e': e = (# 1, #)
-tcfail206.hs:20:5:
+tcfail206.hs:20:7:
Couldn't match type `a' with `Bool'
`a' is a rigid type variable bound by
- the type signature for `f' at tcfail206.hs:19:6
+ the type signature for f :: a -> (# a, Bool #) at tcfail206.hs:20:1
+ In the expression: True || False
In the expression: (# True || False, #)
In an equation for `f': f = (# True || False, #)
diff --git a/testsuite/tests/ghc-regress/typecheck/should_run/IPRun.hs b/testsuite/tests/ghc-regress/typecheck/should_run/IPRun.hs
index ad15934cc2..66abe6dcbe 100644
--- a/testsuite/tests/ghc-regress/typecheck/should_run/IPRun.hs
+++ b/testsuite/tests/ghc-regress/typecheck/should_run/IPRun.hs
@@ -11,7 +11,7 @@ f1 = let ?x = 5 in \() -> ?x
-- Should always return 5
f2 () = let ?x = 5 in \() -> ?x
- -- Inferred type: (?x::Integer) => () -> () -> Integer
+ -- Inferred type: (Num a, ?x::a) => () -> () -> a
-- should always return 5
f3 :: () -> ((?x :: Int) => Int)