Improve type-error reporting
[ghc.git] / testsuite / tests / partial-sigs / should_compile / T10403.stderr
1
2 T10403.hs:15:7: warning: [-Wpartial-type-signatures (in -Wdefault)]
3     • Found type wildcard ‘_’ standing for ‘Functor f’
4       Where: ‘f’ is a rigid type variable
5                bound by the inferred type of
6                         h1 :: Functor f => (a -> b) -> f a -> H f
7                at T10403.hs:17:1-41
8     • In the type signature: h1 :: _ => _
9
10 T10403.hs:15:12: warning: [-Wpartial-type-signatures (in -Wdefault)]
11     • Found type wildcard ‘_’ standing for ‘(a -> b) -> f a -> H f’
12       Where: ‘b’, ‘a’, ‘f’ are rigid type variables
13                bound by the inferred type of
14                         h1 :: Functor f => (a -> b) -> f a -> H f
15                at T10403.hs:17:1-41
16     • In the type signature: h1 :: _ => _
17
18 T10403.hs:19:7: warning: [-Wpartial-type-signatures (in -Wdefault)]
19     • Found type wildcard ‘_’ standing for ‘(a -> b) -> f0 a -> H f0’
20       Where: ‘f0’ is an ambiguous type variable
21              ‘b’, ‘a’ are rigid type variables
22                bound by the inferred type of h2 :: (a -> b) -> f0 a -> H f0
23                at T10403.hs:22:1-41
24     • In the type signature: h2 :: _
25
26 T10403.hs:22:15: warning: [-Wdeferred-type-errors (in -Wdefault)]
27     • Ambiguous type variable ‘f0’ arising from a use of ‘fmap’
28       prevents the constraint ‘(Functor f0)’ from being solved.
29       Relevant bindings include
30         b :: f0 a (bound at T10403.hs:22:6)
31         h2 :: (a -> b) -> f0 a -> H f0 (bound at T10403.hs:22:1)
32       Probable fix: use a type annotation to specify what ‘f0’ should be.
33       These potential instances exist:
34         instance Functor IO -- Defined in ‘GHC.Base’
35         instance Functor (B t) -- Defined at T10403.hs:10:10
36         instance Functor I -- Defined at T10403.hs:6:10
37         ...plus three others
38         ...plus two instances involving out-of-scope types
39         (use -fprint-potential-instances to see them all)
40     • In the second argument of ‘(.)’, namely ‘fmap (const ())’
41       In the expression: H . fmap (const ())
42       In the expression: (H . fmap (const ())) (fmap f b)
43
44 T10403.hs:28:8: warning: [-Wdeferred-type-errors (in -Wdefault)]
45     • Couldn't match type ‘f0’ with ‘B t’
46         because type variable ‘t’ would escape its scope
47       This (rigid, skolem) type variable is bound by
48         the type signature for:
49           app2 :: forall t. H (B t)
50         at T10403.hs:27:1-15
51       Expected type: H (B t)
52         Actual type: H f0
53     • In the expression: h2 (H . I) (B ())
54       In an equation for ‘app2’: app2 = h2 (H . I) (B ())
55     • Relevant bindings include
56         app2 :: H (B t) (bound at T10403.hs:28:1)