
#13102: orphan family instances can leak through the EPS in --make mode -------------------------------------+------------------------------------- Reporter: rwbarton | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.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 simonpj): Aha! You are right! The relevant ticket is #2182. One thing unsaid there is that non-orphan instances cannot be a problem because the module defining a non-orphan instance must be in the transitive closure of modules below the one being compiled. It's just orphan modules that we need to take care about. A huge shortcoming is that this very cunning plan has no Note describing the Grand Plan, at least not that I can see. There ought to be one, with references to the note from the scattered bits of code that implement it. It does seem plausible that that the same thing would work for family instances. Hooray. Finally `hptInstances` appears to do the job (including family instances) for the home package, by glomming up all the instances from the home- package modules below this one. But the clever orphan module approach should work for the home package too, so perhaps we can kill off `hptInstances`? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13102#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler