diff --git a/src/lib.rs b/src/lib.rs index cb256d0..74f31ed 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,7 +8,7 @@ struct FourNode(V, V, V, Option<(Box>, Box>, Bo impl FourNode { - fn new(node: Node, value: V) -> FourNode { + fn from_leaf_3node_and_value(node: Node, value: V) -> FourNode { match node { LeafThreeNode(value1, value2) => if value > value2 { FourNode(value1, value2, value, None) } @@ -128,7 +128,10 @@ impl Node { }, // Split if leaf ThreeNode - node @ LeafThreeNode(..) => Split(FourNode::new(node, to_insert)), + node @ LeafThreeNode(..) => { + let four_node = FourNode::from_leaf_3node_and_value(node, to_insert); + Split(four_node) + }, // Recurse down if internal Node and handle results TwoNode(value, box left, box middle) => {