-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Fix more invalidations from overloading ==
#36282
Conversation
BTW, we are making progress but there's still a lot of work ahead. Numbers in the left two columns are where we were in May (around the time of the 1.5 feature freeze) when I was actively working on the blog post, numbers in the right two columns are where we are now on this PR and all the ones referenced above:
Obviously, the single biggest advance will come when the ambiguous cases go away, but #36200 and all these PRs to improve inferrability are starting to have a pretty big cumulative effect. @SimonDanisch and @eschnett should be particularly pleased. I'm not quite sure why the ambiguity numbers have changed so much, but either it's changes in the packages (I wasn't careful to insist on the same versions) or the changes in inference have changed the dependency trees in a way that affects the ambiguity cases, too. Once we stop having ambiguous cases be invalidating, some of the |
Co-authored-by: Jeff Bezanson <[email protected]>
Wow, that |
* Improve typing of ProcessGroup.refs * Add type annotation in stacktrace handling * Eliminate boxing in REPL Related to JuliaLang#15276
Other than a PR to Pkg (which needs #36280), this is pretty much everything that I think can be done on #36005 without changes to the compiler itself. The combination of #36255, #36280, #36281, the upcoming Pkg PR, some PRs to JuliaInterpreter/LoweredCodeUtils/Revise, and this PR is to reduce the total count of (non-unique) invalidations from more than 3k to 529. Of those, 281 are from
==(::Symbol, ::Any)
, which I do not see a reasonable way to address without changes to the compiler itself (some details were mentioned in #36255).