summaryrefslogtreecommitdiff
path: root/testsuite/tests/gadt/rw.stderr
blob: 39529a7003d5be6dccb0722b798d003665bd6290 (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
28
29

rw.hs:14:47: error:
    • Couldn't match expected type ‘a’ with actual type ‘Int’
      ‘a’ is a rigid type variable bound by
        the type signature for:
          writeInt :: forall a. T a -> IORef a -> IO ()
        at rw.hs:12:12
    • 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)
    • 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)

rw.hs:19:51: error:
    • Couldn't match type ‘a’ with ‘Bool’
      ‘a’ is a rigid type variable bound by
        the type signature for:
          readBool :: forall a. T a -> IORef a -> IO ()
        at rw.hs:16:12
      Expected type: a -> Bool
        Actual type: Bool -> Bool
    • In the second argument of ‘(.)’, namely ‘not’
      In the second argument of ‘(>>=)’, namely ‘(print . not)’
    • 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)