Inlining wrappers late and related changes
This branch resolves three issues:
- Trac #16288 - Fix Core Lint error caused by binder swap, this follows "quick fix" from comment:2.
-
Trac #15840 - Delay inlining of data constructors in phase 0. In particular,
exprIsConApp_maybe
can now detect constructor applications insidelet
andcase
. -
Trac #16254 - Allow
exprIsConApp_maybe
to see through newtype wrappers. This allows case-of-known constructor to fire more often.
The changes can be read commit by commit.