Skip to content
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 assertion failure for some Expect diagnostics. #126719

Merged
merged 1 commit into from
Jun 20, 2024

Conversation

nnethercote
Copy link
Contributor

In #120699 I moved some code dealing with has_future_breakage earlier in emit_diagnostic. Issue #126521 identified a case where that reordering was invalid (leading to an assertion failure) for some Expect diagnostics.

This commit partially undoes the change, by moving the handling of unstable Expect diagnostics earlier again. This makes emit_diagnostic a bit uglier, but is necessary to fix the problem.

Fixes #126521.

r? @oli-obk

In rust-lang#120699 I moved some code dealing with `has_future_breakage` earlier
in `emit_diagnostic`. Issue rust-lang#126521 identified a case where that
reordering was invalid (leading to an assertion failure) for some `Expect`
diagnostics.

This commit partially undoes the change, by moving the handling of
unstable `Expect` diagnostics earlier again. This makes
`emit_diagnostic` a bit uglier, but is necessary to fix the problem.

Fixes rust-lang#126521.
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jun 20, 2024
@oli-obk
Copy link
Contributor

oli-obk commented Jun 20, 2024

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Jun 20, 2024

📌 Commit 19b7192 has been approved by oli-obk

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 20, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 20, 2024
Fix assertion failure for some `Expect` diagnostics.

In rust-lang#120699 I moved some code dealing with `has_future_breakage` earlier in `emit_diagnostic`. Issue rust-lang#126521 identified a case where that reordering was invalid (leading to an assertion failure) for some `Expect` diagnostics.

This commit partially undoes the change, by moving the handling of unstable `Expect` diagnostics earlier again. This makes `emit_diagnostic` a bit uglier, but is necessary to fix the problem.

Fixes rust-lang#126521.

r? `@oli-obk`
bors added a commit to rust-lang-ci/rust that referenced this pull request Jun 20, 2024
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#126380 (Add std Xtensa targets support)
 - rust-lang#126636 (Resolve Clippy `f16` and `f128` `unimplemented!`/`FIXME`s )
 - rust-lang#126659 (More status-quo tests for the `#[coverage(..)]` attribute)
 - rust-lang#126711 (Make Option::as_[mut_]slice const)
 - rust-lang#126717 (Clean up some comments near `use` declarations)
 - rust-lang#126719 (Fix assertion failure for some `Expect` diagnostics.)
 - rust-lang#126730 (Add opaque type corner case test)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit f511f2b into rust-lang:master Jun 20, 2024
6 checks passed
@rustbot rustbot added this to the 1.81.0 milestone Jun 20, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jun 20, 2024
Rollup merge of rust-lang#126719 - nnethercote:fix-126521, r=oli-obk

Fix assertion failure for some `Expect` diagnostics.

In rust-lang#120699 I moved some code dealing with `has_future_breakage` earlier in `emit_diagnostic`. Issue rust-lang#126521 identified a case where that reordering was invalid (leading to an assertion failure) for some `Expect` diagnostics.

This commit partially undoes the change, by moving the handling of unstable `Expect` diagnostics earlier again. This makes `emit_diagnostic` a bit uglier, but is necessary to fix the problem.

Fixes rust-lang#126521.

r? ``@oli-obk``
@nnethercote nnethercote deleted the fix-126521 branch June 20, 2024 23:26
nnethercote added a commit to nnethercote/rust that referenced this pull request Jun 21, 2024
Very similar to rust-lang#126719. So much so that I added a new case to the test
from that PR rather than creating a new one.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jun 21, 2024
Fix another assertion failure for some Expect diagnostics.

Very similar to rust-lang#126719. So much so that I added a new case to the test from that PR rather than creating a new one.

r? `@oli-obk`
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jun 21, 2024
Rollup merge of rust-lang#126774 - nnethercote:fix-126751, r=oli-obk

Fix another assertion failure for some Expect diagnostics.

Very similar to rust-lang#126719. So much so that I added a new case to the test from that PR rather than creating a new one.

r? `@oli-obk`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ICE: assertion failed: matches!(diagnostic.level, Error | Warning | Allow)
4 participants