
#10844: CallStack should not be inlined -------------------------------------+------------------------------------- Reporter: nomeata | Owner: gridaphobe Type: task | Status: patch Priority: normal | Milestone: Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D1259 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Phab:D1259 does floating in the desugarer. We should document carefully here the reason that the `FloatOut` pass doesn't nail this; I keep forgetting. It's because functions with an INLINE pragma are supposed to inline precisely the RHS, so FloatOut doesn't float anything out of a stable unfolding. So we are instead doing it in the desugarer, the same place that the stable unfoldings are built in the first place. But we should pursue your idea from comment:11: ''GHC should not inline terms that the programmer did not write''. In particular, perhaps when you write an incomplete pattern match, the catch-all error message could be plonked (by the desugarer) at top level? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10844#comment:30 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler