Mark Generic instances inlineable
Summary
The GHC.Generic methods to and from are currently not marked INLINE when instances are derived with DeriveGeneric. For sufficiently big types, this indeed prevents inlining.
Is there ever a reason not to want them to inline?
Steps to reproduce
Define a sufficiently big data type and try to get to . from to simplify to a strict identity function.
Here's an example with a type with 5 constructors and 12 fields total: https://gist.github.com/Lysxia/b9e3e95a0711f87a84f72555da77801b
Expected behavior
The simplified Core of the above example should not have any GHC.Generics machinery left.
Environment
- GHC version used: 8.10