Rename AND typecheck types before values
In a few cases, we get in trouble during renaming of values because we don't have access to information that would be computed during typechecking. Two examples of this:
- #13905 - Here, we need to determine if a Name is a newtype constructor or data type constructor during renaming (desugaring of applicative do), which is not known until after typechecking
- #12088 - Perhaps? We want to rename and typecheck instance declarations at the same time, since they can occur between the type declarations.
One nit: you can't compute SCCs until you rename. But if you just rename ALL of the types at once, then SCC them, that should be fine.
Trac metadata
Trac field | Value |
---|---|
Version | 8.2.1 |
Type | Task |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler (Type checker) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |