-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Don't emit delayed good-path bugs on panic #117397
Don't emit delayed good-path bugs on panic #117397
Conversation
r? @TaKO8Ki (rustbot has picked a reviewer for you, use r? to override) |
@@ -556,7 +556,7 @@ impl Drop for HandlerInner { | |||
// instead of "require some error happened". Sadly that isn't ideal, as | |||
// lints can be `#[allow]`'d, potentially leading to this triggering. | |||
// Also, "good path" should be replaced with a better naming. | |||
if !self.has_any_message() && !self.suppressed_expected_diag { | |||
if !self.has_any_message() && !self.suppressed_expected_diag && !std::thread::panicking() { |
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.
It might make sense to also add this at delayed_span_bugs? When there's a panic, I'm much more likely to be interested in the panic than the delayed bug. The delayed bug is actually not a bug if compilation stops with an error later -- they are used for cases where "if this happens we must never produce an output file, but we can't bug!
here and now since compilation continues when an error was found, to report more than one error at a time". In those cases, when a panic occurred, all is good -- no output file is produced, after all.
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.
I'm gonna leave that up to another PR.
I actually slighlty disagree, or at least think it needs a bit more nuance than the delayed_good_path_bug case -- I think that some delayed span bugs are noise (e.g. dropping opaque type storage), but some others are actually pretty important in understanding why the compiler got so messed up that it's now panicking (e.g. diagnostics that are .delay_as_bug()
'd).
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.
Hm, I wrote a bunch of delay_span_bug in the interpreter, and none of them I'd like to see on panic.
But I guess I'll wait until I actually hit that situation before trying to convince you of that. ;)
@bors r+ rollup |
…h-on-panic, r=TaKO8Ki Don't emit delayed good-path bugs on panic This should fix rust-lang#117381, cc `@RalfJung` As opposed to delayed bugs, delayed *good path* bugs really don't make sense to show on panics.
…iaskrgr Rollup of 5 pull requests Successful merges: - rust-lang#115626 (Clean up unchecked_math, separate out unchecked_shifts) - rust-lang#117029 (Add FileCheck annotations to MIR-opt inlining tests ) - rust-lang#117397 (Don't emit delayed good-path bugs on panic) - rust-lang#117401 (Refactor: move suggestion functions from demand to suggestions) - rust-lang#117475 (Inline and remove `create_session`.) r? `@ghost` `@rustbot` modify labels: rollup
…iaskrgr Rollup of 4 pull requests Successful merges: - rust-lang#115626 (Clean up unchecked_math, separate out unchecked_shifts) - rust-lang#117397 (Don't emit delayed good-path bugs on panic) - rust-lang#117401 (Refactor: move suggestion functions from demand to suggestions) - rust-lang#117475 (Inline and remove `create_session`.) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#117397 - compiler-errors:dont-emit-good-path-on-panic, r=TaKO8Ki Don't emit delayed good-path bugs on panic This should fix rust-lang#117381, cc ``@RalfJung`` As opposed to delayed bugs, delayed *good path* bugs really don't make sense to show on panics.
80: Automated pull from upstream `master` r=tshepang a=github-actions[bot] This PR pulls the following changes from the upstream repository: * rust-lang/rust#117498 * rust-lang/rust#117488 * rust-lang/rust#117441 * rust-lang/rust#117373 * rust-lang/rust#117298 * rust-lang/rust#117029 * rust-lang/rust#117289 * rust-lang/rust#117307 * rust-lang/rust#114208 * rust-lang/rust#117482 * rust-lang/rust#117475 * rust-lang/rust#117401 * rust-lang/rust#117397 * rust-lang/rust#115626 * rust-lang/rust#117436 * rust-lang/rust#115356 * rust-lang/rust#117422 * rust-lang/rust#116692 Co-authored-by: David CARLIER <[email protected]> Co-authored-by: Taiki Endo <[email protected]> Co-authored-by: ltdk <[email protected]> Co-authored-by: Ryan Mehri <[email protected]>
This should fix #117381, cc @RalfJung
As opposed to delayed bugs, delayed good path bugs really don't make sense to show on panics.