Ill-kinded value is not rejected immediately
The expression Just (1#)
is ill-kinded, since Just
expects a parameter of type a :: *
not #
. GHC 7.6.3 recognizes this
λ> :t Just (1#)
<interactive>:1:7:
Couldn't match kind `*' against `#'
Kind incompatibility when matching types:
a0 :: *
GHC.Prim.Int# :: #
In the first argument of `Just', namely `(1#)'
In the expression: Just (1#)
while HEAD gives
λ> :t Just (1#)
Just (1#) :: a ~ GHC.Prim.Int# => Maybe a
Not a big deal, attempting to do anything with this value gives the same error as in 7.6.3. But still, I think it should be rejected as ill-kinded at sight.
Trac metadata
Trac field | Value |
---|---|
Version | 7.7 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | low |
Resolution | Unresolved |
Component | Compiler (Type checker) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |