Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Alex D
GHC
Commits
c45f8ceb
Commit
c45f8ceb
authored
Jun 18, 2015
by
Simon Peyton Jones
Browse files
Elaborate test for Trac #10403
parent
ba7c8e59
Changes
2
Hide whitespace changes
Inline
Side-by-side
testsuite/tests/partial-sigs/should_compile/T10403.hs
View file @
c45f8ceb
{-# LANGUAGE PartialTypeSignatures #-}
{-# OPTIONS_GHC -fdefer-type-errors #-}
module
T10403
where
data
I
a
=
I
a
...
...
@@ -11,9 +12,10 @@ instance Functor (B t) where
newtype
H
f
=
H
(
f
()
)
app
::
H
(
B
t
)
app
=
h
(
H
.
I
)
(
B
()
)
h
::
_
=>
_
--h :: Functor m => (a -> b) -> m a -> H m
--
h :: Functor m => (a -> b) -> m a -> H m
h
f
b
=
(
H
.
fmap
(
const
()
))
(
fmap
f
b
)
h2
::
_
-- h2 :: Functor m => (a -> b) -> m a -> H m
h2
f
b
=
(
H
.
fmap
(
const
()
))
(
fmap
f
b
)
testsuite/tests/partial-sigs/should_compile/T10403.stderr
View file @
c45f8ceb
T10403.hs:17:6: warning:
Found hole ‘_’ with inferred constraints: Functor f
In the type signature for ‘h’: _ => _
T10403.hs:17:11: warning:
Found hole ‘_’ with type: (a -> b) -> f a -> H f
Where: ‘f’ is a rigid type variable bound by
the inferred type of h :: Functor f => (a -> b) -> f a -> H f
at T10403.hs:19:1
‘b’ is a rigid type variable bound by
the inferred type of h :: Functor f => (a -> b) -> f a -> H f
at T10403.hs:19:1
‘a’ is a rigid type variable bound by
the inferred type of h :: Functor f => (a -> b) -> f a -> H f
at T10403.hs:19:1
In the type signature for ‘h’: _ => _
T10403.hs:15:6: warning:
Found hole ‘_’ with inferred constraints: Functor f
In the type signature for ‘h’: _ => _
T10403.hs:15:11: warning:
Found hole ‘_’ with type: (a -> b) -> f a -> H f
Where: ‘f’ is a rigid type variable bound by
the inferred type of h :: 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 h :: 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 h :: Functor f => (a -> b) -> f a -> H f
at T10403.hs:17:1
In the type signature for ‘h’: _ => _
T10403.hs:19:7: warning:
Found hole ‘_’ with type: (a -> b) -> f a -> H f
Where: ‘f’ is a rigid type variable bound by
the inferred type of h2 :: Functor f => (a -> b) -> f a -> H f
at T10403.hs:21:1
‘b’ is a rigid type variable bound by
the inferred type of h2 :: Functor f => (a -> b) -> f a -> H f
at T10403.hs:21:1
‘a’ is a rigid type variable bound by
the inferred type of h2 :: Functor f => (a -> b) -> f a -> H f
at T10403.hs:21:1
In the type signature for ‘h2’: _
T10403.hs:21:1: warning:
No instance for (Functor f)
When checking that ‘h2’ has the inferred type
h2 :: forall (f :: * -> *) b a. (a -> b) -> f a -> H f
Probable cause: the inferred type is ambiguous
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment