Skip to content

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 (closed) - 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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information