
#13689: Data.Either doesn't export INLINABLE short functions like "rights" -------------------------------------+------------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Core Libraries | Version: 8.0.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect API | Unknown/Multiple annotation | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D3576 Wiki Page: | -------------------------------------+------------------------------------- Comment (by nomeata): JFTR: The definition {{{ lefts = concatMap go where go (Left x) = [x] go (Right _) = [] }}} results in the same code (GHC HEAD even CSE’s it with the other definition if defined in the same module), and also does not get an unfolding automatically, and with `INLINEABLE` the unfolding is the large one with `foldr` and `build`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13689#comment:19 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler