rb_tree 0.5.0

A Red Black Tree implementation in Rust
Documentation
use rb_tree::RBQueue;

struct ByReference {
    queue: RBQueue<i32, &'static dyn Fn(&i32, &i32) -> std::cmp::Ordering>,
}

impl Default for ByReference {
    fn default() -> Self {
        Self {
            queue: RBQueue::new(&|l: &i32, r: &i32| l.cmp(r)),
        }
    }
}

struct Boxing {
    queue: RBQueue<i32, Box<dyn Fn(&i32, &i32) -> std::cmp::Ordering>>,
}

impl Default for Boxing {
    fn default() -> Self {
        Self {
            queue: RBQueue::new(Box::new(|l: &i32, r: &i32| l.cmp(r))),
        }
    }
}

fn main() {
    let mut h = ByReference::default();
    h.queue.insert(1i32);

    let mut b = Boxing::default();
    b.queue.insert(1i32);
}