
#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 goldfire): The types you report (with `+v`) look the way I would expect them to be in GHC 8.0, as well. Suppose we have {{{ class <cls> <vars> where <meth> :: <ty> }}} Then the type of `<meth>` is `forall <vars>. <cls> <vars> => <ty>`. Note that if a method type mentions fresh type variables (that is, those not introduced in the class head), then the method type will be quantified over those variables. So {{{ class C a where f :: a b c }}} is equivalent to {{{ class C a where f :: forall b c. a b c }}} 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. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12549#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler