diff options
Diffstat (limited to 'testsuite/tests/gadt')
-rw-r--r-- | testsuite/tests/gadt/T3169.stderr | 39 | ||||
-rw-r--r-- | testsuite/tests/gadt/rw.stderr | 39 |
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) |