diff --git a/src/diff/dijkstra.rs b/src/diff/dijkstra.rs
index 559fad45a..f9313c12f 100644
--- a/src/diff/dijkstra.rs
+++ b/src/diff/dijkstra.rs
@@ -44,8 +44,8 @@ fn shortest_vertex_path<'a, 'b>(
let (edge, next) = neighbour;
let distance_to_next = distance + edge.cost();
- let found_shorter_route = match &*next.predecessor.borrow() {
- Some((prev_shortest, _)) => distance_to_next < *prev_shortest,
+ let found_shorter_route = match next.predecessor.get() {
+ Some((prev_shortest, _)) => distance_to_next < prev_shortest,
None => true,
};
@@ -74,7 +74,7 @@ fn shortest_vertex_path<'a, 'b>(
let mut vertex_route: Vec<&'b Vertex<'a, 'b>> = vec![];
while let Some((_, node)) = current {
vertex_route.push(node);
- current = *node.predecessor.borrow();
+ current = node.predecessor.get();
}
vertex_route.reverse();
diff --git a/src/diff/graph.rs b/src/diff/graph.rs
index 40020ca5e..23f9c3063 100644
--- a/src/diff/graph.rs
+++ b/src/diff/graph.rs
@@ -3,7 +3,7 @@
use bumpalo::Bump;
use rustc_hash::FxHashMap;
use std::{
- cell::RefCell,
+ cell::{Cell, RefCell},
cmp::min,
fmt,
hash::{Hash, Hasher},
@@ -50,7 +50,7 @@ use Edge::*;
#[derive(Debug, Clone)]
pub struct Vertex<'a, 'b> {
pub neighbours: RefCell