Skip to content

Commit 2ffe6f3

Browse files
committed
Add some basic tests of ChunkedBitSet dense relations
1 parent 76d1d53 commit 2ffe6f3

File tree

1 file changed

+31
-0
lines changed
  • compiler/rustc_index/src/bit_set

1 file changed

+31
-0
lines changed

compiler/rustc_index/src/bit_set/tests.rs

+31
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,37 @@ fn chunked_bitset() {
340340
assert_eq!(b10000.count(), 6000);
341341
b10000.assert_valid();
342342
b10000b.assert_valid();
343+
344+
//-----------------------------------------------------------------------
345+
346+
let mut b6900 = ChunkedBitSet::<usize>::new_empty(6900);
347+
b6900.insert(3);
348+
b6900.insert(17);
349+
b6900.insert(68);
350+
b6900.insert(2000);
351+
b6900.insert(2500);
352+
353+
let mut b6900b = BitSet::<usize>::new_empty(6900);
354+
b6900b.insert(17);
355+
b6900b.insert(42);
356+
b6900b.insert(68);
357+
b6900b.insert(2000);
358+
b6900b.insert(4200);
359+
360+
b6900.subtract(&b6900b);
361+
b6900.assert_valid();
362+
assert!(b6900.contains(3));
363+
assert!(b6900.contains(2500));
364+
assert_eq!(b6900.count(), 2);
365+
366+
b6900.union(&b6900b);
367+
b6900.assert_valid();
368+
assert_eq!(b6900.count(), 7);
369+
370+
b6900.subtract(&BitSet::<usize>::new_filled(6900));
371+
b6900.assert_valid();
372+
assert_eq!(b6900.count(), 0);
373+
assert_eq!(b6900.chunks(), vec![Zeros(2048), Zeros(2048), Zeros(2048), Zeros(756)],);
343374
}
344375

345376
#[test]

0 commit comments

Comments
 (0)