Type operators in promoteOccName (#24570)
Type operators differ from term operators in that they are lexically classified as (type) constructors, not as (type) variables. Prior to this change, promoteOccName did not account for this difference, causing a scoping issue that affected RequiredTypeArguments. type (!@#) = Bool f = idee (!@#) -- Not in scope: ‘!@#’ (BUG) Now we have a special case in promoteOccName to account for this.
Showing
- compiler/GHC/Types/Name/Occurrence.hs 3 additions, 1 deletioncompiler/GHC/Types/Name/Occurrence.hs
- testsuite/tests/vdq-rta/should_compile/T24570.hs 19 additions, 0 deletionstestsuite/tests/vdq-rta/should_compile/T24570.hs
- testsuite/tests/vdq-rta/should_compile/all.T 1 addition, 0 deletionstestsuite/tests/vdq-rta/should_compile/all.T
Loading
Please register or sign in to comment