diff options
| author | Michael Goulet <michael@errs.io> | 2023-12-29 19:05:49 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2023-12-29 19:55:34 +0000 |
| commit | 5a08ba65451bf781a43d2c883d3767fbf6643bae (patch) | |
| tree | 1479bdc5cbed855db4c638b714e3f6788d5dea79 | |
| parent | 29abb90bbf4472d8a3bc032a838b20a85f5ed1e7 (diff) | |
| download | rust-5a08ba65451bf781a43d2c883d3767fbf6643bae.tar.gz rust-5a08ba65451bf781a43d2c883d3767fbf6643bae.zip | |
No need to record movability in deferred_coroutine_interiors
| -rw-r--r-- | compiler/rustc_hir_typeck/src/check.rs | 9 | ||||
| -rw-r--r-- | compiler/rustc_hir_typeck/src/fn_ctxt/_impl.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_hir_typeck/src/inherited.rs | 3 |
3 files changed, 4 insertions, 10 deletions
diff --git a/compiler/rustc_hir_typeck/src/check.rs b/compiler/rustc_hir_typeck/src/check.rs index 0ca0f7d2daf..871fde81cce 100644 --- a/compiler/rustc_hir_typeck/src/check.rs +++ b/compiler/rustc_hir_typeck/src/check.rs @@ -149,15 +149,10 @@ pub(super) fn check_fn<'a, 'tcx>( // We insert the deferred_coroutine_interiors entry after visiting the body. // This ensures that all nested coroutines appear before the entry of this coroutine. // resolve_coroutine_interiors relies on this property. - let coroutine_ty = if let Some(hir::ClosureKind::Coroutine(coroutine_kind)) = closure_kind { + let coroutine_ty = if let Some(hir::ClosureKind::Coroutine(_)) = closure_kind { let interior = fcx .next_ty_var(TypeVariableOrigin { kind: TypeVariableOriginKind::MiscVariable, span }); - fcx.deferred_coroutine_interiors.borrow_mut().push(( - fn_def_id, - body.id(), - interior, - coroutine_kind, - )); + fcx.deferred_coroutine_interiors.borrow_mut().push((fn_def_id, body.id(), interior)); let (resume_ty, yield_ty) = fcx.resume_yield_tys.unwrap(); Some(CoroutineTypes { resume_ty, yield_ty, interior }) diff --git a/compiler/rustc_hir_typeck/src/fn_ctxt/_impl.rs b/compiler/rustc_hir_typeck/src/fn_ctxt/_impl.rs index 994f11b57d1..cb109a2e024 100644 --- a/compiler/rustc_hir_typeck/src/fn_ctxt/_impl.rs +++ b/compiler/rustc_hir_typeck/src/fn_ctxt/_impl.rs @@ -534,7 +534,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { let coroutines = std::mem::take(&mut *self.deferred_coroutine_interiors.borrow_mut()); debug!(?coroutines); - for &(expr_def_id, body_id, interior, _) in coroutines.iter() { + for &(expr_def_id, body_id, interior) in coroutines.iter() { debug!(?expr_def_id); // Create the `CoroutineWitness` type that we will unify with `interior`. diff --git a/compiler/rustc_hir_typeck/src/inherited.rs b/compiler/rustc_hir_typeck/src/inherited.rs index 7a6a2b2a010..4ad46845f0b 100644 --- a/compiler/rustc_hir_typeck/src/inherited.rs +++ b/compiler/rustc_hir_typeck/src/inherited.rs @@ -55,8 +55,7 @@ pub struct Inherited<'tcx> { pub(super) deferred_asm_checks: RefCell<Vec<(&'tcx hir::InlineAsm<'tcx>, hir::HirId)>>, - pub(super) deferred_coroutine_interiors: - RefCell<Vec<(LocalDefId, hir::BodyId, Ty<'tcx>, hir::CoroutineKind)>>, + pub(super) deferred_coroutine_interiors: RefCell<Vec<(LocalDefId, hir::BodyId, Ty<'tcx>)>>, /// Whenever we introduce an adjustment from `!` into a type variable, /// we record that type variable here. This is later used to inform |
