30 lines
662 B
Rust
30 lines
662 B
Rust
use std::collections::{BTreeMap, BTreeSet};
|
|
|
|
#[derive(PartialEq, Eq, PartialOrd, Ord)]
|
|
pub enum Foo {
|
|
A(&'static str),
|
|
_B,
|
|
_C,
|
|
}
|
|
|
|
pub fn main() {
|
|
let mut b = BTreeSet::new();
|
|
b.insert(Foo::A("\'"));
|
|
b.insert(Foo::A("/="));
|
|
b.insert(Foo::A("#"));
|
|
b.insert(Foo::A("0o"));
|
|
assert!(b.remove(&Foo::A("/=")));
|
|
assert!(!b.remove(&Foo::A("/=")));
|
|
|
|
// Also test a lower-alignment type, where the NodeHeader overlaps with
|
|
// the keys.
|
|
let mut b = BTreeSet::new();
|
|
b.insert(1024);
|
|
b.insert(7);
|
|
|
|
let mut b = BTreeMap::new();
|
|
b.insert("bar", 1024);
|
|
b.insert("baz", 7);
|
|
for _val in b.iter_mut() {}
|
|
}
|