-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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