From 070069d65e3b0d29e7a6db45310c900819d7d430 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 15 Apr 2021 18:12:56 +0200 Subject: [PATCH] Ensure top of cursor stack is either empty or a leaf node Co-Authored-By: Nathan Sobo Co-Authored-By: Max Brunsfeld --- zed/src/sum_tree/cursor.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/zed/src/sum_tree/cursor.rs b/zed/src/sum_tree/cursor.rs index 440e99ba9025d3819b47d21982c5e8b1f510641b..4f6ec810554826970f7f71508005a71c4203a3e5 100644 --- a/zed/src/sum_tree/cursor.rs +++ b/zed/src/sum_tree/cursor.rs @@ -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(&mut self, mut subtree: &'a SumTree, 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() {