diff --git a/src/node.rs b/src/node.rs index db2d70a..d28164b 100644 --- a/src/node.rs +++ b/src/node.rs @@ -101,7 +101,7 @@ impl Node { handle_alloc_error(layout) } - ptr::write(ptr.offset(FLAGS_OFFSET), flags.bits() as u8); + ptr::write(ptr.offset(FLAGS_OFFSET), flags.bits()); ptr::write(ptr.offset(LABEL_LEN_OFFSET), label.len() as u8); ptr::copy_nonoverlapping(label.as_ptr(), ptr.offset(LABEL_OFFSET), label.len()); @@ -631,7 +631,7 @@ impl Node { fn set_flags(&mut self, other: Flags, value: bool) { let mut flags = self.flags(); flags.set(other, value); - unsafe { ptr::write(self.ptr, flags.bits() as u8) }; + unsafe { ptr::write(self.ptr, flags.bits()) }; } fn label_len(&self) -> usize { unsafe { *self.ptr.offset(LABEL_LEN_OFFSET) as usize } diff --git a/src/tree.rs b/src/tree.rs index 236952f..cf1457b 100644 --- a/src/tree.rs +++ b/src/tree.rs @@ -54,10 +54,7 @@ impl PatriciaTree { .get_longest_common_prefix_mut(key, 0) .map(|(n, v)| (&key.as_bytes()[..n], v)) } - pub fn iter_prefix<'a, 'b, K: ?Sized + BorrowedBytes>( - &'a self, - prefix: &'b K, - ) -> Option<(usize, Nodes)> { + pub fn iter_prefix(&self, prefix: &K) -> Option<(usize, Nodes)> { if let Some((common_prefix_len, node)) = self.root.get_prefix_node(prefix) { let nodes = Nodes { nodes: node.iter_descendant(), @@ -68,9 +65,9 @@ impl PatriciaTree { None } } - pub fn iter_prefix_mut<'a, 'b, K: ?Sized + BorrowedBytes>( - &'a mut self, - prefix: &'b K, + pub fn iter_prefix_mut( + &mut self, + prefix: &K, ) -> Option<(usize, NodesMut)> { if let Some((common_prefix_len, node)) = self.root.get_prefix_node_mut(prefix) { let nodes = NodesMut {