-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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 ICEs in diagnostic::on_unimplemented
#124875
Conversation
This should be backported together with #124683. |
@@ -1,17 +0,0 @@ | |||
//@ edition:2021 |
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.
Github didn't recognize the file being moved, but I gave it a better name. Also, there's no reason for us to be using #[test]
here -- it's not necessary to reproduce the ICE; all that is necessary is a foreign crate.
@bors r+ |
…iaskrgr Rollup of 4 pull requests Successful merges: - rust-lang#124777 (Fix Error Messages for `break` Inside Coroutines) - rust-lang#124837 (Migrate `run-make/rustdoc-map-file` to rmake) - rust-lang#124875 (Fix more ICEs in `diagnostic::on_unimplemented`) - rust-lang#124908 (Handle field projections like slice indexing in invalid_reference_casting) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#124875 - compiler-errors:more-diagnostics-ices, r=estebank Fix more ICEs in `diagnostic::on_unimplemented` There were 8 other calls to `expect_local` left in `on_unimplemented.rs` -- all of which (afaict) could be turned into ICEs. I would really like to see validation of `on_unimplemented` separated from parsing, so we only emit errors here: https://github.com/rust-lang/rust/blob/a60f077c38fe66d05449919842d3d73e3299bbab/compiler/rustc_hir_analysis/src/check/check.rs#L836-L839 ...And gracefully fail instead when emitting trait predicate failures, not *ever* even trying to emit an error or a lint. But that's left for a separate PR. r? `@estebank`
Beta backports approved as per compiler team on Zulip. A backport PR will be authored by the release team at the end of the current development cycle. Stable backport: same reasoning as for #124683: does not justify a dot release but this backport could jump on that train, if a dot release is planned for other reasons @rustbot label +beta-accepted +stable-accepted |
[beta] backports - Do not ICE on foreign malformed `diagnostic::on_unimplemented` rust-lang#124683 - Fix more ICEs in `diagnostic::on_unimplemented` rust-lang#124875 - rustdoc: use stability, instead of features, to decide what to show rust-lang#124864 - Don't do post-method-probe error reporting steps if we're in a suggestion rust-lang#125100 - Make `non-local-def` lint Allow by default rust-lang#124950 r? cuviper
There were 8 other calls to
expect_local
left inon_unimplemented.rs
-- all of which (afaict) could be turned into ICEs.I would really like to see validation of
on_unimplemented
separated from parsing, so we only emit errors here:rust/compiler/rustc_hir_analysis/src/check/check.rs
Lines 836 to 839 in a60f077
...And gracefully fail instead when emitting trait predicate failures, not ever even trying to emit an error or a lint. But that's left for a separate PR.
r? @estebank