-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Fix #6385: Don't instantiate hk type constructors too early #6467
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
Conversation
test performance please |
performance test scheduled: 5 job(s) in queue, 1 running. |
Performance test finished successfully: Visit http://dotty-bench.epfl.ch/6467/ to see the changes. Benchmarks is based on merging with master (b34ea5d) |
test performance please |
performance test scheduled: 1 job(s) in queue, 0 running. |
Performance test finished successfully: Visit http://dotty-bench.epfl.ch/6467/ to see the changes. Benchmarks is based on merging with master (b34ea5d) |
Before searching for implicit arguments, if a the constraint contains a type parameter ``` P >: A <: B ``` where `P` occurs in the searched-for type and `A =:= B`, change the constraint to ``` P := B ``` instead. This improves the implicit search by making the searched-for type have fewer uninstantiated type variables.
The issue scala#6385 contains more explanations.
Avoid formation of full bounds.
In fact, the isLess relation is irrelevant here. If p >: L <: H and L =:= H and the constraint is satisfiable, then it's safe to replace p by L or H anyway, no matter what other parameters are known to be smaller or larger than p.
18ce5d2 fixed it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed by 18ce5d2 in scala#6467
The issue #6385 contains more explanations.