summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_fail/T7453.stderr
blob: 4a95105f44f5469cd3b6ae07544e3c7697a44f29 (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
55

T7453.hs:10:30:
    Couldn't match expected type ‛t1’ with actual type ‛t’
      because type variable ‛t1’ would escape its scope
    This (rigid, skolem) type variable is bound by
      the type signature for z :: Id t1
      at T7453.hs:8:16-19
    Relevant bindings include
      cast1 :: t -> a (bound at T7453.hs:7:1)
      v :: t (bound at T7453.hs:7:7)
      z :: Id t1 (bound at T7453.hs:9:11)
      aux :: Id t1 (bound at T7453.hs:10:21)
    In the first argument of ‛Id’, namely ‛v’
    In the expression: Id v
    In an equation for ‛aux’: aux = Id v

T7453.hs:16:33:
    Couldn't match expected type ‛t2’ with actual type ‛t’
      because type variable ‛t2’ would escape its scope
    This (rigid, skolem) type variable is bound by
      the type signature for z :: () -> t2
      at T7453.hs:14:16-22
    Relevant bindings include
      cast2 :: t -> t1 (bound at T7453.hs:13:1)
      v :: t (bound at T7453.hs:13:7)
      z :: () -> t2 (bound at T7453.hs:15:11)
      aux :: b -> t2 (bound at T7453.hs:16:21)
    In the first argument of ‛const’, namely ‛v’
    In the expression: const v
    In an equation for ‛aux’: aux = const v

T7453.hs:21:15:
    Couldn't match expected type ‛t2’ with actual type ‛t’
      because type variable ‛t2’ would escape its scope
    This (rigid, skolem) type variable is bound by
      the type signature for z :: t2
      at T7453.hs:20:16
    Relevant bindings include
      cast3 :: t -> t1 (bound at T7453.hs:19:1)
      v :: t (bound at T7453.hs:19:7)
      z :: t2 (bound at T7453.hs:21:11)
      aux :: forall b. b -> t2 (bound at T7453.hs:22:21)
    In the expression: v
    In an equation for ‛z’:
        z = v
          where
              aux = const v
    In an equation for ‛cast3’:
        cast3 v
          = z
          where
              z :: t
              z = v
                where
                    aux = const v