diff options
| author | lcnr <rust@lcnr.de> | 2025-05-02 16:24:28 +0000 |
|---|---|---|
| committer | lcnr <rust@lcnr.de> | 2025-05-02 18:45:28 +0000 |
| commit | ffa7d1ee5dba9d0a9979d784a5c38e3a05a5ff9e (patch) | |
| tree | 0bb55d6921f0f2b35f6784deb9233d6efb793167 /compiler/rustc_middle/src | |
| parent | f97b3c6044a67e0b5d0d0891ca3a6c5d982b2285 (diff) | |
| download | rust-ffa7d1ee5dba9d0a9979d784a5c38e3a05a5ff9e.tar.gz rust-ffa7d1ee5dba9d0a9979d784a5c38e3a05a5ff9e.zip | |
borrowck nested items in dead code
Diffstat (limited to 'compiler/rustc_middle/src')
| -rw-r--r-- | compiler/rustc_middle/src/query/mod.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_middle/src/ty/context.rs | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/compiler/rustc_middle/src/query/mod.rs b/compiler/rustc_middle/src/query/mod.rs index 88f4c4ae4d3..2702aea96b5 100644 --- a/compiler/rustc_middle/src/query/mod.rs +++ b/compiler/rustc_middle/src/query/mod.rs @@ -387,7 +387,7 @@ rustc_queries! { } } - query stalled_generators_within( + query nested_bodies_within( key: LocalDefId ) -> &'tcx ty::List<LocalDefId> { desc { diff --git a/compiler/rustc_middle/src/ty/context.rs b/compiler/rustc_middle/src/ty/context.rs index 3ea285d3d8e..071cbe83e5d 100644 --- a/compiler/rustc_middle/src/ty/context.rs +++ b/compiler/rustc_middle/src/ty/context.rs @@ -684,15 +684,17 @@ impl<'tcx> Interner for TyCtxt<'tcx> { self.opaque_types_defined_by(defining_anchor) } - fn opaque_types_and_generators_defined_by( + fn opaque_types_and_coroutines_defined_by( self, defining_anchor: Self::LocalDefId, ) -> Self::LocalDefIds { if self.next_trait_solver_globally() { + let coroutines_defined_by = self + .nested_bodies_within(defining_anchor) + .iter() + .filter(|def_id| self.is_coroutine(def_id.to_def_id())); self.mk_local_def_ids_from_iter( - self.opaque_types_defined_by(defining_anchor) - .iter() - .chain(self.stalled_generators_within(defining_anchor)), + self.opaque_types_defined_by(defining_anchor).iter().chain(coroutines_defined_by), ) } else { self.opaque_types_defined_by(defining_anchor) |
