summaryrefslogtreecommitdiff
path: root/testsuite/tests/partial-sigs/should_compile/T10403.stderr
blob: 5337cc3d128387cec7c42e9ece209cad8cac8110 (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

T10403.hs:15:7: warning:
    Found constraint wildcard ‘_’ standing for ‘Functor f’
    In the type signature:
      h1 :: _ => _

T10403.hs:15:12: warning:
    • Found type wildcard ‘_’ standing for ‘(a -> b) -> f a -> H f’
      Where: ‘f’ is a rigid type variable bound by
               the inferred type of h1 :: Functor f => (a -> b) -> f a -> H f
               at T10403.hs:17:1
             ‘b’ is a rigid type variable bound by
               the inferred type of h1 :: Functor f => (a -> b) -> f a -> H f
               at T10403.hs:17:1
             ‘a’ is a rigid type variable bound by
               the inferred type of h1 :: Functor f => (a -> b) -> f a -> H f
               at T10403.hs:17:1
    • In the type signature:
        h1 :: _ => _
    • Relevant bindings include
        h1 :: (a -> b) -> f a -> H f (bound at T10403.hs:17:1)

T10403.hs:19:7: warning:
    • Found type wildcard ‘_’ standing for ‘(a -> b) -> f0 a -> H f0’
      Where: ‘f0’ is an ambiguous type variable
             ‘b’ is a rigid type variable bound by
               the inferred type of h2 :: (a -> b) -> f0 a -> H f0
               at T10403.hs:22:1
             ‘a’ is a rigid type variable bound by
               the inferred type of h2 :: (a -> b) -> f0 a -> H f0
               at T10403.hs:22:1
    • In the type signature:
        h2 :: _
    • Relevant bindings include
        h2 :: (a -> b) -> f0 a -> H f0 (bound at T10403.hs:22:1)

T10403.hs:22:15: warning:
    • Ambiguous type variable ‘f0’ arising from a use of ‘fmap’
      prevents the constraint ‘(Functor f0)’ from being solved.
      Relevant bindings include
        b :: f0 a (bound at T10403.hs:22:6)
        h2 :: (a -> b) -> f0 a -> H f0 (bound at T10403.hs:22:1)
      Probable fix: use a type annotation to specify what ‘f0’ should be.
      These potential instances exist:
        instance Functor IO -- Defined in ‘GHC.Base’
        instance Functor (B t) -- Defined at T10403.hs:10:10
        instance Functor I -- Defined at T10403.hs:6:10
        ...plus four others
        (use -fprint-potential-instances to see them all)
    • In the second argument of ‘(.)’, namely ‘fmap (const ())’
      In the expression: H . fmap (const ())
      In the expression: (H . fmap (const ())) (fmap f b)

T10403.hs:28:8: warning:
    • Couldn't match type ‘f0’ with ‘B t’
        because type variable ‘t’ would escape its scope
      This (rigid, skolem) type variable is bound by
        the type signature for:
          app2 :: H (B t)
        at T10403.hs:27:1-15
      Expected type: H (B t)
      Actual type: H f0
    • In the expression: h2 (H . I) (B ())
      In an equation for ‘app2’: app2 = h2 (H . I) (B ())
    • Relevant bindings include
        app2 :: H (B t) (bound at T10403.hs:28:1)

T10403.hs:28:20: warning:
    • Couldn't match type ‘f0’ with ‘B t’
        because type variable ‘t’ would escape its scope
      This (rigid, skolem) type variable is bound by
        the type signature for:
          app2 :: H (B t)
        at T10403.hs:27:1-15
      Expected type: f0 ()
      Actual type: B t ()
    • In the second argument of ‘h2’, namely ‘(B ())’
      In the expression: h2 (H . I) (B ())
    • Relevant bindings include
        app2 :: H (B t) (bound at T10403.hs:28:1)