
#13782: Bullish use of Template Haskell's newName causes GHC internal error -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: carlostome Type: bug | Status: patch Priority: high | Milestone: 8.2.1 Component: Template Haskell | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #12503 | Differential Rev(s): Phab:D3641 Wiki Page: | -------------------------------------+------------------------------------- Comment (by carlostome): The FreeKiTyVars datatype is local to the [https://git.haskell.org/ghc.git/blob/HEAD:/compiler/renamer/RnTypes.hs RnTypes] module, so I think the way to go is to change the [https://git.haskell.org/ghc.git/blob/HEAD:/compiler/basicTypes/OccName.hs#l4... OccSet] for a RdrSet (with the same API) and include this one on [https://git.haskell.org/ghc.git/blob/HEAD:/compiler/basicTypes/OccName.hs RdrName]. The only difficulty I find is to come up with a sensible Uniquable instance for RdrName. {{{ #!haskell instance Uniquable RdrName where getUnique (Exact name) = ... getUnique (Unqual occ) = ... getUnique (Qual mod occ) = ... getUnique (Orig mod occ) = ... }}} In the cases for '''Exact''' and '''Unqual''' we would like to tag the ''Unique'' of name and occ and for the cases of '''Qual''' and '''Orig''' to tag and combine somehow the Unques for mod and occ. How can we do this? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13782#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler