[GHC] #9834: GHC panic when used with deferred type errors
GHC
ghc-devs at haskell.org
Tue Nov 25 16:26:58 UTC 2014
#9834: GHC panic when used with deferred type errors
-------------------------------------+-------------------------------------
Reporter: | Owner:
Iceland_jack | Status: new
Type: bug | Milestone:
Priority: normal | Version: 7.8.2
Component: Compiler | Keywords:
(Type checker) | Architecture: Unknown/Multiple
Resolution: | Difficulty: Unknown
Operating System: Linux | Blocked By:
Type of failure: GHCi crash | Related Tickets:
Test Case: |
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
Works fine in HEAD. Can someone try the 7.8.4 branch?
Here are the HEAD error messages. I have not looked at them, but there is
no crash.
{{{
T9834.hs:24:10: Warning:
Couldn't match type ‘p’ with ‘(->) (p a0)’
‘p’ is a rigid type variable bound by
the class declaration for ‘ApplicativeFix’ at T9834.hs:22:39
Expected type: (forall (q :: * -> *).
Applicative q =>
Comp p q a -> Comp p q a)
-> p a
Actual type: (forall (q :: * -> *).
Applicative q =>
Nat (Comp p q) (Comp p q))
-> p a0 -> p a0
Relevant bindings include
afix :: (forall (q :: * -> *).
Applicative q =>
Comp p q a -> Comp p q a)
-> p a
(bound at T9834.hs:24:3)
In the expression: wrapIdComp
In an equation for ‘afix’: afix = wrapIdComp
T9834.hs:24:10: Warning:
Couldn't match type ‘a’ with ‘p a0’
‘a’ is a rigid type variable bound by
the type signature for
afix :: (forall (q :: * -> *).
Applicative q =>
Comp p q a -> Comp p q a)
-> p a
at T9834.hs:23:11
Expected type: (forall (q :: * -> *).
Applicative q =>
Comp p q a -> Comp p q a)
-> p a
Actual type: (forall (q :: * -> *).
Applicative q =>
Nat (Comp p q) (Comp p q))
-> p a0 -> p a0
Relevant bindings include
afix :: (forall (q :: * -> *).
Applicative q =>
Comp p q a -> Comp p q a)
-> p a
(bound at T9834.hs:24:3)
In the expression: wrapIdComp
In an equation for ‘afix’: afix = wrapIdComp
T9834.hs:24:10: Warning:
Couldn't match type ‘a’ with ‘a1’
‘a’ is a rigid type variable bound by
the type signature for
afix :: (forall (q :: * -> *).
Applicative q =>
Comp p q a -> Comp p q a)
-> p a
at T9834.hs:23:11
‘a1’ is a rigid type variable bound by
a type expected by the context:
Applicative q => Comp p q a1 -> Comp p q a1
at T9834.hs:24:10
Expected type: Comp p q a1 -> Comp p q a1
Actual type: Comp p q a -> Comp p q a
Relevant bindings include
afix :: (forall (q :: * -> *).
Applicative q =>
Comp p q a -> Comp p q a)
-> p a
(bound at T9834.hs:24:3)
In the expression: wrapIdComp
In an equation for ‘afix’: afix = wrapIdComp
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9834#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list