[GHC] #11348: Local open type families instances ignored during type checking

GHC ghc-devs at haskell.org
Wed Apr 20 13:26:12 UTC 2016


#11348: Local open type families instances ignored during type checking
-------------------------------------+-------------------------------------
        Reporter:  alexvieth         |                Owner:
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1-rc1
      Resolution:                    |             Keywords:  TypeFamilies
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  GHC rejects       |  Unknown/Multiple
  valid program                      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D1762
       Wiki Page:                    |
-------------------------------------+-------------------------------------

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

 In [changeset:"353d8ae6fafe117a1cac4adf6f029a5baccc2780/ghc"
 353d8ae6/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="353d8ae6fafe117a1cac4adf6f029a5baccc2780"
 SCC analysis for instances as well as types/classes

 This big patch is in pursuit of Trac #11348.

 It is largely the work of Alex Veith (thank you!), with some
 follow-up simplification and refactoring from Simon PJ.

 The main payload is described in RnSource
   Note [Dependency analysis of type, class, and instance decls]
 which is pretty detailed.

 * There is a new data type HsDecls.TyClGroup, for a strongly
   connected component of type/class/instance/role decls.

   The hs_instds field of HsGroup disappears, in consequence

   This forces some knock-on changes, including a minor
   haddock submodule update

 Smaller, weakly-related things

 * I found that both the renamer and typechecker were building an
   identical env for RoleAnnots, so I put common code for
   RoleAnnotEnv in RnEnv.

 * I found that tcInstDecls1 had very clumsy error handling, so I
   put it together into TcInstDcls.doClsInstErrorChecks
 }}}

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


More information about the ghc-tickets mailing list