Skip to content

Invalidate some denotations in earlier phases #15120

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

odersky
Copy link
Contributor

@odersky odersky commented May 5, 2022

This addresses the specific problem raised by #10044: A denotation
of a NamedType goes from a UniqueRefDenotation to a SymDenotation
after erasure and is then not reset to the original since the
SymDenotation is valid at all phases. We remember in this case
in the NamedType the first phase in which the SymDenotaton is valid
and force a recompute in earlier phases.

Fixes #10044

@odersky odersky marked this pull request as draft May 5, 2022 16:46
This addresses the specific problem raised by scala#10044: A denotation
of a NamedType goes from a UniqueRefDenotation to a SymDenotation
after erasure and is then not reset to the original since the
SymDenotation is valid at all phases. We remember in this case
in the NamedType the first phase in which the SymDenotaton is valid
and force a recompute in earlier phases.

Fixes scala#10044
@griggt griggt mentioned this pull request May 5, 2022
@odersky
Copy link
Contributor Author

odersky commented May 5, 2022

test performance please

@dottybot
Copy link
Member

dottybot commented May 5, 2022

performance test scheduled: 9 job(s) in queue, 1 running.

@dottybot
Copy link
Member

dottybot commented May 5, 2022

Performance test finished successfully:

Visit https://dotty-bench.epfl.ch/15120/ to see the changes.

Benchmarks is based on merging with main (d02c7c2)

@odersky
Copy link
Contributor Author

odersky commented May 6, 2022

Dropped in favor of #15129

@odersky odersky closed this May 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

REPL: chained extension methods on opaque types can only be called once
2 participants