#5928: INLINABLE fails to specialize in presence of simple wrapper ---------------------------------+------------------------------------------ Reporter: tibbe | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.4.1 Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Unknown | Testcase: Blockedby: | Blocking: Related: | ---------------------------------+------------------------------------------
Comment(by simonpj): I think it's because `(!)` just happens, by coincidence, to be small enough to inline all by itself. But this inlining just happens to only occur after the specialisation pass. And it would not happen at all if `(!)` had been a bigger function, which is the typical case. So, if `(!)` is big (or even, as we have seen, if it's small) you have to mark it INLINABLE. Or, perhaps, as I say, you want every overloaded function to be inlinable, at least if you compile with -O2 perhaps? -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5928#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs