about summary refs log tree commit diff
path: root/compiler/rustc_data_structures/src/graph/scc/mod.rs
diff options
context:
space:
mode:
authorZalathar <Zalathar@users.noreply.github.com>2025-01-26 14:00:46 +1100
committerZalathar <Zalathar@users.noreply.github.com>2025-01-26 14:08:42 +1100
commitd36e2b88d643b3d712c6e2d22b4b0d77fea07209 (patch)
treedb44d88d640f6bbed5d1767125f2baa489790d38 /compiler/rustc_data_structures/src/graph/scc/mod.rs
parent6fb03584cf6d915cc5527f45037ca009f4273c4c (diff)
downloadrust-d36e2b88d643b3d712c6e2d22b4b0d77fea07209.tar.gz
rust-d36e2b88d643b3d712c6e2d22b4b0d77fea07209.zip
Incorporate `iter_nodes` into `graph::DirectedGraph`
This assumes that the set of valid node IDs is exactly `0..num_nodes`.

In practice, we have a lot of graph-algorithm code that already assumes that
nodes are densely numbered, by using `num_nodes` to allocate per-node indexed
data structures.
Diffstat (limited to 'compiler/rustc_data_structures/src/graph/scc/mod.rs')
-rw-r--r--compiler/rustc_data_structures/src/graph/scc/mod.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/rustc_data_structures/src/graph/scc/mod.rs b/compiler/rustc_data_structures/src/graph/scc/mod.rs
index 06fedef00fc..93f6192b10b 100644
--- a/compiler/rustc_data_structures/src/graph/scc/mod.rs
+++ b/compiler/rustc_data_structures/src/graph/scc/mod.rs
@@ -333,8 +333,8 @@ where
             to_annotation,
         };
 
-        let scc_indices = (0..num_nodes)
-            .map(G::Node::new)
+        let scc_indices = graph
+            .iter_nodes()
             .map(|node| match this.start_walk_from(node) {
                 WalkReturn::Complete { scc_index, .. } => scc_index,
                 WalkReturn::Cycle { min_depth, .. } => {