Lint types created by newFamInst
In #15012 (closed), we observed a terrible failure resulting from newFamInst creating a type family instance with an unbound type variable on the right-hand side. What's worse, -dcore-lint didn't catch it! Let's fix that by calling lintType on the types involved in newFamInst.
A wrinkle in this plan is that lintType currently expands all type synonyms, but the offending type in #15012 (closed) had the unbound variable occur in a type synonym application, so expanding type synonyms would make this naughtiness seemingly vanish (from Core Lint's perspective). We should configure lintType so that one can control its type synonym expansion behavior.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.4.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |