diff options
Diffstat (limited to 'tests/ui/zero-sized/zero-sized-btreemap-insert.rs')
| -rw-r--r-- | tests/ui/zero-sized/zero-sized-btreemap-insert.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/zero-sized/zero-sized-btreemap-insert.rs b/tests/ui/zero-sized/zero-sized-btreemap-insert.rs new file mode 100644 index 00000000000..52edb33d6ad --- /dev/null +++ b/tests/ui/zero-sized/zero-sized-btreemap-insert.rs @@ -0,0 +1,25 @@ +// run-pass +#![allow(unused_variables)] +#![allow(unused_imports)] +use std::cmp::{Ord, Ordering, PartialOrd}; +use std::collections::BTreeMap; +use std::iter::Iterator; + +#[derive(Eq, Hash, Debug, Ord, PartialEq, PartialOrd)] +struct Zst; + +fn main() { + const N: usize = 8; + + for len in 0..N { + let mut tester = BTreeMap::new(); + assert_eq!(tester.len(), 0); + for bit in 0..len { + tester.insert(Zst, ()); + } + assert_eq!(tester.len(), if len == 0 { 0 } else { 1 }); + assert_eq!(tester.iter().count(), if len == 0 { 0 } else { 1 }); + assert_eq!(tester.get(&Zst).is_some(), len > 0); + tester.clear(); + } +} |
