From 4e7f4fafbd3c5cf0b4883f29afd773ce052081d0 Mon Sep 17 00:00:00 2001 From: bronku Date: Sun, 14 Dec 2025 10:56:45 +0100 Subject: [PATCH] removed option --- src/btree.rs | 13 ++++++------- src/file_storage.rs | 4 ++-- src/node.rs | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/btree.rs b/src/btree.rs index 961641c..4bc4e0c 100644 --- a/src/btree.rs +++ b/src/btree.rs @@ -45,7 +45,7 @@ where Node::Leaf(leaf) => { for (i, k) in leaf.keys.iter().enumerate() { if *k == key { - return leaf.values[i]; + return Some(leaf.values[i]); } } return None; @@ -79,18 +79,19 @@ where let mut inserted = false; for (i, k) in leaf.keys.iter_mut().enumerate() { if *k == key { - leaf.values[i] = Some(value); + leaf.values[i] = value; inserted = true; break; } else if key < *k { leaf.keys.insert(i, key); - leaf.values.insert(i, Some(value)); + leaf.values.insert(i, value); inserted = true; - break; } + break; + } } if !inserted { leaf.keys.push(key); - leaf.values.push(Some(value)); + leaf.values.push(value); } self.storage @@ -102,8 +103,6 @@ where } } - pub fn delete - fn split_leaf(&mut self, loc: usize, leaf: LeafNode, path: &mut Vec<(usize, InternalNode)>) { let mid = leaf.keys.len() / 2; let new_leaf = LeafNode { diff --git a/src/file_storage.rs b/src/file_storage.rs index 2dc0613..edf9c82 100644 --- a/src/file_storage.rs +++ b/src/file_storage.rs @@ -118,7 +118,7 @@ mod tests { fn sample_leaf() -> Node { Node::Leaf(LeafNode { keys: vec![1, 2, 3], - values: vec![Some([1; 7]), Some([2; 7]), Some([3; 7])], + values: vec![[1; 7], [2; 7], [3; 7]], next: Some(42), }) } @@ -198,7 +198,7 @@ mod tests { prop_oneof![ ( prop::collection::vec(any::(), 0..=max), - prop::collection::vec(proptest::option::of(arb_record()), 0..=max), + prop::collection::vec(arb_record(), 0..=max), proptest::option::of(any::()), ) .prop_map(|(keys, values, next)| { Node::Leaf(LeafNode { keys, values, next }) }), diff --git a/src/node.rs b/src/node.rs index 04d3131..36ba155 100644 --- a/src/node.rs +++ b/src/node.rs @@ -18,7 +18,7 @@ pub struct HeaderNode { #[derive(Debug, Clone, Encode, Decode, PartialEq, Eq)] pub struct LeafNode { pub keys: Vec, - pub values: Vec>, + pub values: Vec, pub next: Option, }