diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2023-08-12 08:04:45 +0000 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2025-07-02 09:14:33 +0000 |
| commit | a0dc0b549db557245e3dc55490263fa264af5e69 (patch) | |
| tree | 1987c755ecf701f3d7dbbdf3d71fbd3af6a35caf /compiler/rustc_middle/src/ty/context.rs | |
| parent | 706f244db581212cabf2e619e0113d70999b2bbe (diff) | |
| download | rust-a0dc0b549db557245e3dc55490263fa264af5e69.tar.gz rust-a0dc0b549db557245e3dc55490263fa264af5e69.zip | |
Do not depend on FOREVER_RED_NODE.
Diffstat (limited to 'compiler/rustc_middle/src/ty/context.rs')
| -rw-r--r-- | compiler/rustc_middle/src/ty/context.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/compiler/rustc_middle/src/ty/context.rs b/compiler/rustc_middle/src/ty/context.rs index c5f4b95cbbe..3da888c11db 100644 --- a/compiler/rustc_middle/src/ty/context.rs +++ b/compiler/rustc_middle/src/ty/context.rs @@ -2082,9 +2082,8 @@ impl<'tcx> TyCtxt<'tcx> { } pub fn iter_local_def_id(self) -> impl Iterator<Item = LocalDefId> { - // Create a dependency to the red node to be sure we re-execute this when the amount of - // definitions change. - self.dep_graph.read_index(DepNodeIndex::FOREVER_RED_NODE); + // Depend on the `analysis` query to ensure compilation if finished. + self.ensure_ok().analysis(()); let definitions = &self.untracked.definitions; gen { @@ -2104,9 +2103,8 @@ impl<'tcx> TyCtxt<'tcx> { } pub fn def_path_table(self) -> &'tcx rustc_hir::definitions::DefPathTable { - // Create a dependency to the crate to be sure we re-execute this when the amount of - // definitions change. - self.dep_graph.read_index(DepNodeIndex::FOREVER_RED_NODE); + // Depend on the `analysis` query to ensure compilation if finished. + self.ensure_ok().analysis(()); // Freeze definitions once we start iterating on them, to prevent adding new ones // while iterating. If some query needs to add definitions, it should be `ensure`d above. |
