summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_fail/tcfail068.stderr
blob: 1603f77b83707c42bbca5568cd5aa3f1919d87fd (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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135

tcfail068.hs:14:9: error: [GHC-25897]
    • Couldn't match type ‘s1’ with ‘s’
      Expected: GHC.ST.ST s1 (IndTree s a)
        Actual: GHC.ST.ST s1 (STArray s1 (Int, Int) a)
      ‘s1’ is a rigid type variable bound by
        a type expected by the context:
          forall s1. GHC.ST.ST s1 (IndTree s a)
        at tcfail068.hs:(13,15)-(14,31)
      ‘s’ is a rigid type variable bound by
        the type signature for:
          itgen :: forall a s.
                   Constructed a =>
                   (Int, Int) -> a -> IndTree s a
        at tcfail068.hs:11:1-55
    • In the first argument of ‘runST’, namely
        ‘(newSTArray ((1, 1), n) x)’
      In the expression: runST (newSTArray ((1, 1), n) x)
      In an equation for ‘itgen’:
          itgen n x = runST (newSTArray ((1, 1), n) x)
    • Relevant bindings include
        itgen :: (Int, Int) -> a -> IndTree s a
          (bound at tcfail068.hs:12:1)

tcfail068.hs:19:21: error: [GHC-25897]
    • Couldn't match type ‘s1’ with ‘s’
      Expected: STArray s1 (Int, Int) a
        Actual: IndTree s a
      ‘s1’ is a rigid type variable bound by
        a type expected by the context:
          forall s1. GHC.ST.ST s1 (IndTree s a)
        at tcfail068.hs:(18,15)-(21,19)
      ‘s’ is a rigid type variable bound by
        the type signature for:
          itiap :: forall a s.
                   Constructed a =>
                   (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a
        at tcfail068.hs:16:1-75
    • In the first argument of ‘readSTArray’, namely ‘arr’
      In the first argument of ‘(>>=)’, namely ‘readSTArray arr i’
      In the first argument of ‘runST’, namely
        ‘(readSTArray arr i
            >>= \ val -> writeSTArray arr i (f val) >> return arr)’
    • Relevant bindings include
        arr :: IndTree s a (bound at tcfail068.hs:17:11)
        itiap :: (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a
          (bound at tcfail068.hs:17:1)

tcfail068.hs:24:36: error: [GHC-25897]
    • Couldn't match type ‘s1’ with ‘s’
      Expected: GHC.ST.ST s1 (IndTree s a)
        Actual: GHC.ST.ST s (IndTree s a)
      ‘s1’ is a rigid type variable bound by
        a type expected by the context:
          forall s1. GHC.ST.ST s1 (IndTree s a)
        at tcfail068.hs:24:35-46
      ‘s’ is a rigid type variable bound by
        the type signature for:
          itrap :: forall a s.
                   Constructed a =>
                   ((Int, Int), (Int, Int)) -> (a -> a) -> IndTree s a -> IndTree s a
        at tcfail068.hs:23:1-87
    • In the first argument of ‘runST’, namely ‘(itrap' i k)’
      In the expression: runST (itrap' i k)
      In an equation for ‘itrap’:
          itrap ((i, k), (j, l)) f arr
            = runST (itrap' i k)
            where
                itrap' i k
                  = if k > l then return arr else (itrapsnd i k >> itrap' i (k + 1))
                itrapsnd i k
                  = if i > j then
                        return arr
                    else
                        (readSTArray arr (i, k) >>= \ val -> ...)
    • Relevant bindings include
        itrap' :: Int -> Int -> GHC.ST.ST s (IndTree s a)
          (bound at tcfail068.hs:26:9)
        itrapsnd :: Int -> Int -> GHC.ST.ST s (IndTree s a)
          (bound at tcfail068.hs:29:9)
        arr :: IndTree s a (bound at tcfail068.hs:24:23)
        itrap :: ((Int, Int), (Int, Int))
                 -> (a -> a) -> IndTree s a -> IndTree s a
          (bound at tcfail068.hs:24:1)

tcfail068.hs:36:46: error: [GHC-25897]
    • Couldn't match type ‘s1’ with ‘s’
      Expected: GHC.ST.ST s1 (c, IndTree s b)
        Actual: GHC.ST.ST s (c, IndTree s b)
      ‘s1’ is a rigid type variable bound by
        a type expected by the context:
          forall s1. GHC.ST.ST s1 (c, IndTree s b)
        at tcfail068.hs:36:45-63
      ‘s’ is a rigid type variable bound by
        the type signature for:
          itrapstate :: forall b a c s.
                        Constructed b =>
                        ((Int, Int), (Int, Int))
                        -> (a -> b -> (a, b))
                        -> ((Int, Int) -> c -> a)
                        -> (a -> c)
                        -> c
                        -> IndTree s b
                        -> (c, IndTree s b)
        at tcfail068.hs:(34,1)-(35,62)
    • In the first argument of ‘runST’, namely ‘(itrapstate' i k s)’
      In the expression: runST (itrapstate' i k s)
      In an equation for ‘itrapstate’:
          itrapstate ((i, k), (j, l)) f c d s arr
            = runST (itrapstate' i k s)
            where
                itrapstate' i k s
                  = if k > l then
                        return (s, arr)
                    else
                        (itrapstatesnd i k s >>= \ (s, arr) -> ...)
                itrapstatesnd i k s
                  = if i > j then
                        return (s, arr)
                    else
                        (readSTArray arr (i, k) >>= \ val -> ...)
    • Relevant bindings include
        itrapstate' :: Int -> Int -> c -> GHC.ST.ST s (c, IndTree s b)
          (bound at tcfail068.hs:38:9)
        itrapstatesnd :: Int -> Int -> c -> GHC.ST.ST s (c, IndTree s b)
          (bound at tcfail068.hs:41:9)
        arr :: IndTree s b (bound at tcfail068.hs:36:34)
        itrapstate :: ((Int, Int), (Int, Int))
                      -> (a -> b -> (a, b))
                      -> ((Int, Int) -> c -> a)
                      -> (a -> c)
                      -> c
                      -> IndTree s b
                      -> (c, IndTree s b)
          (bound at tcfail068.hs:36:1)