diff options
| author | bors <bors@rust-lang.org> | 2024-04-25 15:05:51 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-04-25 15:05:51 +0000 |
| commit | 9e6c4fddda9d3e5d6cf1b20a0fb82c128efe27ef (patch) | |
| tree | 0c8f7087e062f6d18ae044a4d37976554aee376a /compiler/rustc_errors | |
| parent | 6a9758d4f38d4763bd437c48fa7e5246cecf8d04 (diff) | |
| parent | 870ed4bfa2be044bafba589b9d53def3f0a8b005 (diff) | |
| download | rust-9e6c4fddda9d3e5d6cf1b20a0fb82c128efe27ef.tar.gz rust-9e6c4fddda9d3e5d6cf1b20a0fb82c128efe27ef.zip | |
Auto merge of #123531 - compiler-errors:closure-wf, r=oli-obk
Enforce closure args + return type are WF I found this out when investigating https://github.com/rust-lang/rust/issues/123461#issuecomment-2040894359. Turns out we don't register WF obligations for closure args and return types, leading to the ICE. ~~I think this is a useful thing to check for, but I'd like to check what the fallout is.~~ crater is complete. ~~Worst case, I think we should enforce this across an edition boundary (and possibly eventually migrate this for all editions) -- this should be super easy to do, since this is a check in HIR wfcheck, so it can be made edition dependent.~~ I believe the regressions are manageable enough to not necessitate edition-specific behavior. Fixes #123461
Diffstat (limited to 'compiler/rustc_errors')
| -rw-r--r-- | compiler/rustc_errors/src/lib.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_errors/src/lib.rs b/compiler/rustc_errors/src/lib.rs index b3c1c6c8515..adbac80d7cc 100644 --- a/compiler/rustc_errors/src/lib.rs +++ b/compiler/rustc_errors/src/lib.rs @@ -502,7 +502,7 @@ struct DiagCtxtInner { } /// A key denoting where from a diagnostic was stashed. -#[derive(Copy, Clone, PartialEq, Eq, Hash)] +#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)] pub enum StashKey { ItemNoType, UnderscoreForArrayLengths, @@ -779,7 +779,7 @@ impl DiagCtxt { // We delay a bug here so that `-Ztreat-err-as-bug -Zeagerly-emit-delayed-bugs` // can be used to create a backtrace at the stashing site insted of whenever the // diagnostic context is dropped and thus delayed bugs are emitted. - Error => Some(self.span_delayed_bug(span, "stashing {key:?}")), + Error => Some(self.span_delayed_bug(span, format!("stashing {key:?}"))), DelayedBug => return self.inner.borrow_mut().emit_diagnostic(diag), ForceWarning(_) | Warning | Note | OnceNote | Help | OnceHelp | FailureNote | Allow | Expect(_) => None, |
