[GHC] #13998: Default Signature messes up arity of type constructor

GHC ghc-devs at haskell.org
Wed Jul 26 11:34:01 UTC 2017


#13998: Default Signature messes up arity of type constructor
-------------------------------------+-------------------------------------
        Reporter:  andrewthad        |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Simon Peyton Jones <simonpj@…>):

 In [changeset:"75bf11c037d9e82f95ac9779bfd2b1432835bd76/ghc"
 75bf11c0/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="75bf11c037d9e82f95ac9779bfd2b1432835bd76"
 Fix binder visiblity for default methods

 Trac #13998 showed that default methods were getting bogus tyvar
 binder visiblity info; and that it matters in the code genreated
 by the default-method fill-in mechanism

 * The actual fix: in TcTyDecls.mkDefaultMethodType, make TyVarBinders
   with the right visibility info by getting TyConBinders from the
   class TyCon.  (Previously we made up visiblity info, but that
   caused #13998.)

 * Define TyCon.tyConTyVarBinders :: [TyConBinder] -> [TyVarBinder]
   which can build correct forall binders for
     a) default methods (Trac #13998)
     b) data constructors
   This was originally BuildTyCl.mkDataConUnivTyVarBinders

 * Move mkTyVarBinder, mkTyVarBinders from Type to Var
 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13998#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list