Skip to content

Fix #7067: type avoidance should handle both ThisType and TypeRef #7658

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

Merged
merged 1 commit into from
Dec 2, 2019

Conversation

liufengyun
Copy link
Contributor

@liufengyun liufengyun commented Dec 2, 2019

Fix #7067: type avoidance should handle both ThisType and TypeRef

The test example shows that we could arrive at a type like
A { type T = B }, where B <: A and B is the type to avoid. Previously,
we only handle ThisType(B), in this case we have TypeRef(B).
The latter leads to loops in type avoidence.

The test example shows that we could arrive at a type like
`A { type T = B }`, where `B` is the type to avoid. Previously,
we only handle `ThisType(B)`, in this case we have `TypeRef(B)`.
The latter leads to loops in type avoidence.
@liufengyun
Copy link
Contributor Author

test performance please

@dottybot
Copy link
Member

dottybot commented Dec 2, 2019

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

@dottybot
Copy link
Member

dottybot commented Dec 2, 2019

Performance test finished successfully:

Visit http://dotty-bench.epfl.ch/7658/ to see the changes.

Benchmarks is based on merging with master (65a404f)

@odersky odersky merged commit ccb7b13 into scala:master Dec 2, 2019
@odersky odersky deleted the fix-7067 branch December 2, 2019 19:57
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.

StackOverFlow when type assigning class with method with its own type as a parameter
3 participants