@@ -5,7 +5,7 @@ use std::{cmp::Reverse, env};
55
66use crate :: {
77 diff:: changes:: ChangeMap ,
8- diff:: graph:: { get_set_neighbours , populate_change_map , Edge , Vertex } ,
8+ diff:: graph:: { populate_change_map , set_neighbours , Edge , Vertex } ,
99 parse:: syntax:: Syntax ,
1010} ;
1111use bumpalo:: Bump ;
@@ -40,18 +40,22 @@ fn shortest_vertex_path<'a, 'b>(
4040 break current;
4141 }
4242
43- for neighbour in & get_set_neighbours ( current, vertex_arena, & mut seen) {
44- let ( edge, next) = neighbour;
45- let distance_to_next = distance + edge. cost ( ) ;
43+ set_neighbours ( current, vertex_arena, & mut seen) ;
4644
47- let found_shorter_route = match next . predecessor . get ( ) {
48- Some ( ( prev_shortest , _ ) ) => distance_to_next < prev_shortest ,
49- None => true ,
50- } ;
45+ if let Some ( neighbors ) = & * current . neighbours . borrow ( ) {
46+ for neighbour in neighbors {
47+ let ( edge , next ) = neighbour ;
48+ let distance_to_next = distance + edge . cost ( ) ;
5149
52- if found_shorter_route {
53- next. predecessor . replace ( Some ( ( distance_to_next, current) ) ) ;
54- heap. push ( Reverse ( distance_to_next) , next) ;
50+ let found_shorter_route = match next. predecessor . get ( ) {
51+ Some ( ( prev_shortest, _) ) => distance_to_next < prev_shortest,
52+ None => true ,
53+ } ;
54+
55+ if found_shorter_route {
56+ next. predecessor . replace ( Some ( ( distance_to_next, current) ) ) ;
57+ heap. push ( Reverse ( distance_to_next) , next) ;
58+ }
5559 }
5660 }
5761
@@ -219,9 +223,11 @@ pub fn mark_syntax<'a>(
219223 . map( |x| {
220224 format!(
221225 "{:20} {:20} --- {:3} {:?}" ,
222- x. 1 . lhs_syntax. get_ref( )
226+ x. 1 . lhs_syntax
227+ . get_ref( )
223228 . map_or_else( || "None" . into( ) , Syntax :: dbg_content) ,
224- x. 1 . rhs_syntax. get_ref( )
229+ x. 1 . rhs_syntax
230+ . get_ref( )
225231 . map_or_else( || "None" . into( ) , Syntax :: dbg_content) ,
226232 x. 0 . cost( ) ,
227233 x. 0 ,
0 commit comments