]> git.lizzy.rs Git - rust.git/commitdiff
Bugfix .each_edge in middle/graph.rs
authorblake2-ppc <blake2-ppc>
Wed, 7 Aug 2013 17:29:19 +0000 (19:29 +0200)
committerCorey Richardson <corey@octayn.net>
Thu, 8 Aug 2013 02:39:57 +0000 (22:39 -0400)
Edge iterator used the length of the nodes vector, must be a mistake.

src/librustc/middle/graph.rs

index 28d24b169ca4ab187752b60505645de2dc7f3cfc..46394454d006f80e8f3d84cc2b58cc8c7b4cf1e2 100644 (file)
@@ -187,12 +187,12 @@ pub fn next_adjacent(&self, edge: EdgeIndex, dir: Direction) -> EdgeIndex {
 
     pub fn each_node(&self, f: &fn(NodeIndex, &Node<N>) -> bool) -> bool {
         //! Iterates over all edges defined in the graph.
-        range(0u, self.nodes.len()).advance(|i| f(NodeIndex(i), &self.nodes[i]))
+        self.nodes.iter().enumerate().advance(|(i, node)| f(NodeIndex(i), node))
     }
 
     pub fn each_edge(&self, f: &fn(EdgeIndex, &Edge<E>) -> bool) -> bool {
-        //! Iterates over all edges defined in the graph.
-        range(0u, self.nodes.len()).advance(|i| f(EdgeIndex(i), &self.edges[i]))
+        //! Iterates over all edges defined in the graph
+        self.edges.iter().enumerate().advance(|(i, edge)| f(EdgeIndex(i), edge))
     }
 
     pub fn each_outgoing_edge(&self,