summaryrefslogtreecommitdiff
path: root/testsuite/tests/gadt
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/gadt')
-rw-r--r--testsuite/tests/gadt/T3169.stderr39
-rw-r--r--testsuite/tests/gadt/rw.stderr39
2 files changed, 48 insertions, 30 deletions
diff --git a/testsuite/tests/gadt/T3169.stderr b/testsuite/tests/gadt/T3169.stderr
index 878324caeb..c1ee5b5e2f 100644
--- a/testsuite/tests/gadt/T3169.stderr
+++ b/testsuite/tests/gadt/T3169.stderr
@@ -1,11 +1,28 @@
-
-T3169.hs:13:13:
- Couldn't match type `elt' with `Map b elt'
- `elt' is a rigid type variable bound by
- the type signature for
- lookup :: (a, b) -> Map (a, b) elt -> Maybe elt
- at T3169.hs:12:3
- Expected type: Maybe (Map b elt)
- Actual type: Maybe elt
- In the return type of a call of `lookup'
- In the expression: lookup a m :: Maybe (Map b elt)
+
+T3169.hs:13:13:
+ Could not deduce (elt ~ Map b elt)
+ from the context (Key a, Key b)
+ bound by the instance declaration at T3169.hs:10:10-36
+ `elt' is a rigid type variable bound by
+ the type signature for
+ lookup :: (a, b) -> Map (a, b) elt -> Maybe elt
+ at T3169.hs:12:3
+ Expected type: Maybe (Map b elt)
+ Actual type: Maybe elt
+ In the return type of a call of `lookup'
+ In the expression: lookup a m :: Maybe (Map b elt)
+ In the expression:
+ case lookup a m :: Maybe (Map b elt) of {
+ Just (m2 :: Map b elt) -> lookup b m2 :: Maybe elt }
+
+T3169.hs:13:22:
+ Could not deduce (Map a ~ MP a b)
+ from the context (Key a, Key b)
+ bound by the instance declaration at T3169.hs:10:10-36
+ Expected type: Map a elt
+ Actual type: Map (a, b) elt
+ In the second argument of `lookup', namely `m'
+ In the expression: lookup a m :: Maybe (Map b elt)
+ In the expression:
+ case lookup a m :: Maybe (Map b elt) of {
+ Just (m2 :: Map b elt) -> lookup b m2 :: Maybe elt }
diff --git a/testsuite/tests/gadt/rw.stderr b/testsuite/tests/gadt/rw.stderr
index 4c0c0ce6cd..752d0fd8a3 100644
--- a/testsuite/tests/gadt/rw.stderr
+++ b/testsuite/tests/gadt/rw.stderr
@@ -1,19 +1,20 @@
-
-rw.hs:14:47:
- Couldn't match type `a' with `Int'
- `a' is a rigid type variable bound by
- 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)
-
-rw.hs:19:51:
- Couldn't match type `a' with `Bool'
- `a' is a rigid type variable bound by
- 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)'
+
+rw.hs:14:47:
+ Couldn't match expected type `a' with actual type `Int'
+ `a' is a rigid type variable bound by
+ 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)
+
+rw.hs:19:51:
+ Couldn't match type `a' with `Bool'
+ `a' is a rigid type variable bound by
+ 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)