
#12549: Panic on ":t datatypeName" ---------------------------------+-------------------------------------- Reporter: johnleo | Owner: johnleo Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: MacOS X | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | ---------------------------------+-------------------------------------- Comment (by johnleo): Replying to [comment:11 goldfire]:
There's clearly something wrong with instantiation here, but the types for the class methods should be the same in 8.0 as in 8.1.
Actually as noted above they are in fact different. In 8.0.1: {{{
class C a where f :: b a c :t f f ∷ ∀ {k} {k1} {a ∷ k} {b ∷ k → k1 → ★} {c ∷ k1}. C k a ⇒ b a c }}}
class C a where f :: b a c :t +v f f ∷ ∀ {k} (a ∷ k). C k a ⇒ ∀ {k1} (b ∷ k → k1 → ★) (c ∷ k1). b a c }}} The bug is then that in 8.1 the `k` referred to by `b` tries to reference
In 8.1: {{{ the kind defined before the class constraint, which is not in scope at that point, causing the panic. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12549#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler