-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Unreasonably long (and useless) error message doing modulo on non-existent variable: overflow evaluating the requirement `typenum::UInt<typenum::UInt… #72839
Comments
Error: Label regression-from-stable-to-nightly can only be set by Rust team members Please let |
This can be reproduced outside the playground by adding I suspect that this is caused by #72621: we now continue trait selection instead of bailing out when we see an error type. I think we'll want to re-add some kind of bail-out logic, but I'm not sure where the best place would be. |
@Aaron1011 I can confirm regression at 91fb72a. @rustbot modify labels to -E-needs-bisection. |
…ebank Don't create impl candidates when obligation contains errors Fixes rust-lang#72839 In PR rust-lang#72621, trait selection was modified to no longer bail out early when an error type was encountered. This allowed us treat `ty::Error` as `Sized`, causing us to avoid emitting a spurious "not sized" error after a type error had already occured. However, this means that we may now try to match an impl candidate against the error type. Since the error type will unify with almost anything, this can cause us to infinitely recurse (eventually triggering an overflow) when trying to verify certain `where` clauses. This commit causes us to skip generating any impl candidates when an error type is involved.
(This bug leaked into beta channel while waiting for PR #73005 to land, I think.) |
Removing |
This one is already on master and beta backported so closing it as fixed in both channels. |
Does not appear on Stable or Beta in the playground.
(Playground)
Errors:
@rustbot modify labels: +C-bug, A-diagnostics, D-verbose, E-needs-bisection, T-compiler
Edit: nevermind the attempt of adding “regression-from-stable-to-nightly”, I didn’t fully read the description of that label, it doesn’t apply.
The text was updated successfully, but these errors were encountered: