summaryrefslogtreecommitdiff
path: root/testsuite/tests/indexed-types/should_fail/T4093b.stderr
blob: 774e08094f0c2ee4d95d877208dc00fc4676fc49 (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

T4093b.hs:31:13: error: [GHC-25897]
    • Could not deduce ‘e ~ C’
      from the context: (EitherCO e (A C O n) (A O O n) ~ A e O n,
                         EitherCO x (A C C n) (A C O n) ~ A C x n)
        bound by the type signature for:
                   blockToNodeList :: forall (n :: * -> * -> *) e x.
                                      (EitherCO e (A C O n) (A O O n) ~ A e O n,
                                       EitherCO x (A C C n) (A C O n) ~ A C x n) =>
                                      Block n e x -> A e x n
        at T4093b.hs:(19,1)-(22,26)
      Expected: EitherCO e (A C O n) (A O O n)
        Actual: (MaybeC C (n C O), MaybeC O (n O C))
      ‘e’ is a rigid type variable bound by
        the type signature for:
          blockToNodeList :: forall (n :: * -> * -> *) e x.
                             (EitherCO e (A C O n) (A O O n) ~ A e O n,
                              EitherCO x (A C C n) (A C O n) ~ A C x n) =>
                             Block n e x -> A e x n
        at T4093b.hs:(19,1)-(22,26)
    • In the expression: (JustC n, NothingC)
      In an equation for ‘f’: f n _ = (JustC n, NothingC)
      In an equation for ‘blockToNodeList’:
          blockToNodeList b
            = foldBlockNodesF (f, l) b z
            where
                z ::
                  EitherCO e (EitherCO e (A C O n) (A O O n)) (EitherCO e (A C O n) (A O O n))
                z = undefined
                f ::
                  n C O
                  -> EitherCO e (A C O n) (A O O n) -> EitherCO e (A C O n) (A O O n)
                f n _ = (JustC n, NothingC)
                ....
    • Relevant bindings include
        f :: n C O
             -> EitherCO e (A C O n) (A O O n) -> EitherCO e (A C O n) (A O O n)
          (bound at T4093b.hs:31:5)
        l :: n O C
             -> EitherCO e (A C O n) (A O O n) -> EitherCO e (A C C n) (A O C n)
          (bound at T4093b.hs:34:5)
        b :: Block n e x (bound at T4093b.hs:25:17)
        blockToNodeList :: Block n e x -> A e x n (bound at T4093b.hs:25:1)