(&mut self, key: K, val: V)
| 123 | K: Ord, |
| 124 | { |
| 125 | fn insert(&mut self, key: K, val: V) { |
| 126 | let new_root = put(self.root, key, val); |
| 127 | NodeQuery::new(new_root).set_color(Color::Black); |
| 128 | self.root = new_root; |
| 129 | self.set_size(bst::calc_size(self.root)); |
| 130 | } |
| 131 | |
| 132 | fn get(&self, key: &K) -> Option<&V> { |
| 133 | unsafe { bst::find(self.root, key).and_then(|p| p.as_ref().val.as_ref()) } |