Ensure top of cursor stack is either empty or a leaf node
Antonio Scandurra
,
Nathan Sobo
, and
Max Brunsfeld
created
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Change summary
zed/src/sum_tree/cursor.rs | 2 ++
1 file changed, 2 insertions(+)
Detailed changes
@@ -271,6 +271,7 @@ where
}
self.at_end = self.stack.is_empty();
+ debug_assert!(self.stack.is_empty() || self.stack.last().unwrap().tree.0.is_leaf());
}
pub fn descend_to_first_item<F>(&mut self, mut subtree: &'a SumTree<T>, filter_node: F)
@@ -656,6 +657,7 @@ where
}
self.at_end = self.stack.is_empty();
+ debug_assert!(self.stack.is_empty() || self.stack.last().unwrap().tree.0.is_leaf());
if bias == SeekBias::Left {
let mut end = self.seek_dimension.clone();
if let Some(summary) = self.item_summary() {