
#9279: Local wrapper function remains in final program; result = extra closure allocation -------------------------------------+------------------------------------- Reporter: simonmar | Owner: simonpj Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: LateLamLift Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by sgraf): Extending the existing approach by adding e.g. `| MachNullMutVar` doesn't work, because we still don't know which type to return in `literalType`. The type arguments `s` and `a` to the `MutVar#` constructor are lost. So there is no way around this issue unless we store `Type`s in `Literal` that are relevant in `Ord` and `Binary` instances. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9279#comment:19 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler