File tree 1 file changed +19
-1
lines changed 1 file changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -1522,7 +1522,7 @@ impl Set<uint> for BitvSet {
1522
1522
1523
1523
#[ inline]
1524
1524
fn is_disjoint ( & self , other : & BitvSet ) -> bool {
1525
- self . intersection ( other) . count ( ) > 0
1525
+ self . intersection ( other) . next ( ) . is_none ( )
1526
1526
}
1527
1527
1528
1528
#[ inline]
@@ -2264,6 +2264,24 @@ mod tests {
2264
2264
assert ! ( set1. is_subset( & set2) ) ; // { 2 } { 2, 4 }
2265
2265
}
2266
2266
2267
+ #[ test]
2268
+ fn test_bitv_set_is_disjoint ( ) {
2269
+ let a = BitvSet :: from_bitv ( from_bytes ( [ 0b10100010 ] ) ) ;
2270
+ let b = BitvSet :: from_bitv ( from_bytes ( [ 0b01000000 ] ) ) ;
2271
+ let c = BitvSet :: new ( ) ;
2272
+ let d = BitvSet :: from_bitv ( from_bytes ( [ 0b00110000 ] ) ) ;
2273
+
2274
+ assert ! ( !a. is_disjoint( & d) ) ;
2275
+ assert ! ( !d. is_disjoint( & a) ) ;
2276
+
2277
+ assert ! ( a. is_disjoint( & b) )
2278
+ assert ! ( a. is_disjoint( & c) )
2279
+ assert ! ( b. is_disjoint( & a) )
2280
+ assert ! ( b. is_disjoint( & c) )
2281
+ assert ! ( c. is_disjoint( & a) )
2282
+ assert ! ( c. is_disjoint( & b) )
2283
+ }
2284
+
2267
2285
#[ test]
2268
2286
fn test_bitv_set_intersect_with ( ) {
2269
2287
// Explicitly 0'ed bits
You can’t perform that action at this time.
0 commit comments