summaryrefslogtreecommitdiff
path: root/testsuite/tests/gadt/rw.stderr
blob: 82b1986e5481fc738e05f7e5173c3704d79c3b52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

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:12:12
    Relevant bindings include
      ref :: IORef a (bound at rw.hs:13:12)
      v :: T a (bound at rw.hs:13:10)
      writeInt :: T a -> IORef a -> IO () (bound 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:16:12
    Expected type: a -> Bool
      Actual type: Bool -> Bool
    Relevant bindings include
      ref :: IORef a (bound at rw.hs:17:12)
      v :: T a (bound at rw.hs:17:10)
      readBool :: T a -> IORef a -> IO () (bound at rw.hs:17:1)
    In the second argument of ‘(.)’, namely ‘not’
    In the second argument of ‘(>>=)’, namely ‘(print . not)’