diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2023-11-26 15:44:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-26 15:44:54 +0100 |
| commit | c6d20d70b4072d716fb051689e2b169fe6aa2867 (patch) | |
| tree | e00c040ac1f11c5f91b8a7cff99c42d011be263c /compiler/rustc_borrowck/src/diagnostics | |
| parent | c67613bef9d8ef34ed403dc23b1e532ca18aa7a6 (diff) | |
| parent | f23befe6c118573a2ca041bc89f959a8813b43a2 (diff) | |
| download | rust-c6d20d70b4072d716fb051689e2b169fe6aa2867.tar.gz rust-c6d20d70b4072d716fb051689e2b169fe6aa2867.zip | |
Rollup merge of #118311 - bvanjoi:merge_coroutinue_into_closure, r=petrochenkov
merge `DefKind::Coroutine` into `Defkind::Closure` Related to #118188 We no longer need to be concerned about the precise type whether it's `DefKind::Closure` or `DefKind::Coroutine`. Furthermore, thanks for the great work done by `@petrochenkov` on investigating https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Why.20does.20it.20hang.20when.20querying.20.EF.BB.BF.60opt_def_kind.60.3F r? `@petrochenkov`
Diffstat (limited to 'compiler/rustc_borrowck/src/diagnostics')
| -rw-r--r-- | compiler/rustc_borrowck/src/diagnostics/conflict_errors.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/rustc_borrowck/src/diagnostics/conflict_errors.rs b/compiler/rustc_borrowck/src/diagnostics/conflict_errors.rs index 7eb0d553747..9225f19876d 100644 --- a/compiler/rustc_borrowck/src/diagnostics/conflict_errors.rs +++ b/compiler/rustc_borrowck/src/diagnostics/conflict_errors.rs @@ -2072,8 +2072,15 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> { .map(|name| format!("function `{name}`")) .unwrap_or_else(|| { match &self.infcx.tcx.def_kind(self.mir_def_id()) { + DefKind::Closure + if self + .infcx + .tcx + .is_coroutine(self.mir_def_id().to_def_id()) => + { + "enclosing coroutine" + } DefKind::Closure => "enclosing closure", - DefKind::Coroutine => "enclosing coroutine", kind => bug!("expected closure or coroutine, found {:?}", kind), } .to_string() |
