Skip to content

Conversation

@smarter
Copy link
Member

@smarter smarter commented Apr 9, 2024

This is needed for the same reason than the normalization in computeIScope added by 90c3fbd.

IMO, it's already very hard to figure out where .normalize should be used, but the fact that it sometimes is only needed under separate compilation is really error-prone and leads to very hard to debug issues. Ideally we should deal with the same types under separate and join compilation.

While I'm at it, I added one defensively in addPath since I can't tell whether it is needed or not.

Fixes #20136.

This is needed for the same reason than the normalization in `computeIScope` added by 90c3fbd. IMO, it's already very hard to figure out where `.normalize` should be used, but the fact that it sometimes is only needed under separate compilation is really error-prone and leads to very hard to debug issues. Ideally we should deal with the same types under separate and join compilation. While I'm at it, I added one defensively in `addPath` since I can't tell whether it is needed or not. Fixes scala#20136.
Copy link
Contributor

@EugeneFlesselle EugeneFlesselle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pushed our changes with Deferred here, might want to rebase on them

end addCompanions

def addPath(pre: Type): Unit = pre.dealias match
def addPath(pre: Type): Unit = pre.dealias.normalized match
Copy link
Contributor

@EugeneFlesselle EugeneFlesselle Apr 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you still think we need this given our earlier findings ?

@smarter
Copy link
Member Author

smarter commented Apr 11, 2024

Superceded by #20147.

@smarter smarter closed this Apr 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants