summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_compile/tc141.stderr
blob: 9c13f1791d1d2aa6fa7dc0dd877c41fe9b830e95 (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

tc141.hs:11:12: error:
    • You cannot bind scoped type variable ‘a’
        in a pattern binding signature
    • In the pattern: p :: a
      In the pattern: (p :: a, q :: a)
      In a pattern binding: (p :: a, q :: a) = x

tc141.hs:11:31: error:
    • Couldn't match expected type ‘a2’ with actual type ‘a’
        because type variable ‘a2’ would escape its scope
      This (rigid, skolem) type variable is bound by
        an expression type signature:
          forall a2. a2
        at tc141.hs:11:34
    • In the expression: q :: a
      In the expression: (q :: a, p)
      In the expression: let (p :: a, q :: a) = x in (q :: a, p)
    • Relevant bindings include
        p :: a (bound at tc141.hs:11:12)
        q :: a (bound at tc141.hs:11:17)
        x :: (a, a) (bound at tc141.hs:11:3)
        f :: (a, a) -> (a1, a) (bound at tc141.hs:11:1)

tc141.hs:13:13: error:
    • You cannot bind scoped type variable ‘a’
        in a pattern binding signature
    • In the pattern: y :: a
      In a pattern binding: y :: a = a
      In the expression:
        let y :: a = a in
        let
          v :: a
          v = b
        in v

tc141.hs:15:18: error:
    • Couldn't match expected type ‘a2’ with actual type ‘p’
        because type variable ‘a2’ would escape its scope
      This (rigid, skolem) type variable is bound by
        the type signature for:
          v :: forall a2. a2
        at tc141.hs:14:14-19
    • In the expression: b
      In an equation for ‘v’: v = b
      In the expression:
        let
          v :: a
          v = b
        in v
    • Relevant bindings include
        v :: a2 (bound at tc141.hs:15:14)
        b :: p (bound at tc141.hs:13:5)
        g :: a -> p -> a1 (bound at tc141.hs:13:1)