Skip to content

Commit e9de41d

Browse files
committed
avl: Add trait requirement to AvlNode struct
1 parent 7f59686 commit e9de41d

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

src/avl/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,15 +212,15 @@ macro_rules! as_avlitem {
212212
};
213213
}
214214

215-
pub struct AvlNode<T: Sized, Tag> {
215+
pub struct AvlNode<T: AvlItem<Tag>, Tag> {
216216
pub left: *const T,
217217
pub right: *const T,
218218
pub parent: *const T,
219219
pub balance: i8,
220220
_phan: PhantomData<fn(&Tag)>,
221221
}
222222

223-
unsafe impl<T, Tag> Send for AvlNode<T, Tag> {}
223+
unsafe impl<T: AvlItem<Tag> + Send, Tag> Send for AvlNode<T, Tag> {}
224224

225225
impl<T: AvlItem<Tag>, Tag> AvlNode<T, Tag> {
226226
#[inline(always)]
@@ -262,7 +262,7 @@ impl<T: AvlItem<Tag>, Tag> AvlNode<T, Tag> {
262262
}
263263
}
264264

265-
impl<T, Tag> Default for AvlNode<T, Tag> {
265+
impl<T: AvlItem<Tag>, Tag> Default for AvlNode<T, Tag> {
266266
fn default() -> Self {
267267
Self { left: null(), right: null(), parent: null(), balance: 0, _phan: Default::default() }
268268
}

0 commit comments

Comments
 (0)