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 |