Lines Matching refs:Flags
949 struct Flags: u32 {
985 assert_eq!(Flags::empty().bits(), 0b00000000); in test_bits()
986 assert_eq!(Flags::A.bits(), 0b00000001); in test_bits()
987 assert_eq!(Flags::ABC.bits(), 0b00000111); in test_bits()
997 assert_eq!(Flags::from_bits(0), Some(Flags::empty())); in test_from_bits()
998 assert_eq!(Flags::from_bits(0b1), Some(Flags::A)); in test_from_bits()
999 assert_eq!(Flags::from_bits(0b10), Some(Flags::B)); in test_from_bits()
1000 assert_eq!(Flags::from_bits(0b11), Some(Flags::A | Flags::B)); in test_from_bits()
1001 assert_eq!(Flags::from_bits(0b1000), None); in test_from_bits()
1014 assert_eq!(Flags::from_bits_truncate(0), Flags::empty()); in test_from_bits_truncate()
1015 assert_eq!(Flags::from_bits_truncate(0b1), Flags::A); in test_from_bits_truncate()
1016 assert_eq!(Flags::from_bits_truncate(0b10), Flags::B); in test_from_bits_truncate()
1017 assert_eq!(Flags::from_bits_truncate(0b11), (Flags::A | Flags::B)); in test_from_bits_truncate()
1018 assert_eq!(Flags::from_bits_truncate(0b1000), Flags::empty()); in test_from_bits_truncate()
1019 assert_eq!(Flags::from_bits_truncate(0b1001), Flags::A); in test_from_bits_truncate()
1032 let extra = unsafe { Flags::from_bits_unchecked(0b1000) }; in test_from_bits_unchecked()
1033 assert_eq!(unsafe { Flags::from_bits_unchecked(0) }, Flags::empty()); in test_from_bits_unchecked()
1034 assert_eq!(unsafe { Flags::from_bits_unchecked(0b1) }, Flags::A); in test_from_bits_unchecked()
1035 assert_eq!(unsafe { Flags::from_bits_unchecked(0b10) }, Flags::B); in test_from_bits_unchecked()
1038 unsafe { Flags::from_bits_unchecked(0b11) }, in test_from_bits_unchecked()
1039 (Flags::A | Flags::B) in test_from_bits_unchecked()
1042 unsafe { Flags::from_bits_unchecked(0b1000) }, in test_from_bits_unchecked()
1043 (extra | Flags::empty()) in test_from_bits_unchecked()
1046 unsafe { Flags::from_bits_unchecked(0b1001) }, in test_from_bits_unchecked()
1047 (extra | Flags::A) in test_from_bits_unchecked()
1059 assert!(Flags::empty().is_empty()); in test_is_empty()
1060 assert!(!Flags::A.is_empty()); in test_is_empty()
1061 assert!(!Flags::ABC.is_empty()); in test_is_empty()
1071 assert!(Flags::all().is_all()); in test_is_all()
1072 assert!(!Flags::A.is_all()); in test_is_all()
1073 assert!(Flags::ABC.is_all()); in test_is_all()
1075 let extra = unsafe { Flags::from_bits_unchecked(0b1000) }; in test_is_all()
1077 assert!(!(Flags::A | extra).is_all()); in test_is_all()
1078 assert!((Flags::ABC | extra).is_all()); in test_is_all()
1088 let e1 = Flags::empty(); in test_two_empties_do_not_intersect()
1089 let e2 = Flags::empty(); in test_two_empties_do_not_intersect()
1097 let e1 = Flags::empty(); in test_empty_does_not_intersect_with_full()
1098 let e2 = Flags::ABC; in test_empty_does_not_intersect_with_full()
1104 let e1 = Flags::A; in test_disjoint_intersects()
1105 let e2 = Flags::B; in test_disjoint_intersects()
1111 let e1 = Flags::A; in test_overlapping_intersects()
1112 let e2 = Flags::A | Flags::B; in test_overlapping_intersects()
1118 let e1 = Flags::A; in test_contains()
1119 let e2 = Flags::A | Flags::B; in test_contains()
1122 assert!(Flags::ABC.contains(e2)); in test_contains()
1131 let mut e1 = Flags::A; in test_insert()
1132 let e2 = Flags::A | Flags::B; in test_insert()
1143 let mut e1 = Flags::A | Flags::B; in test_remove()
1144 let e2 = Flags::A | Flags::C; in test_remove()
1146 assert_eq!(e1, Flags::B); in test_remove()
1155 let e1 = Flags::A | Flags::C; in test_operators()
1156 let e2 = Flags::B | Flags::C; in test_operators()
1157 assert_eq!((e1 | e2), Flags::ABC); // union in test_operators()
1158 assert_eq!((e1 & e2), Flags::C); // intersection in test_operators()
1159 assert_eq!((e1 - e2), Flags::A); // set difference in test_operators()
1160 assert_eq!(!e2, Flags::A); // set complement in test_operators()
1161 assert_eq!(e1 ^ e2, Flags::A | Flags::B); // toggle in test_operators()
1164 assert_eq!(e3, Flags::A | Flags::B); in test_operators()
1173 let extra = unsafe { Flags::from_bits_unchecked(0b1000) }; in test_operators_unchecked()
1174 let e1 = Flags::A | Flags::C | extra; in test_operators_unchecked()
1175 let e2 = Flags::B | Flags::C; in test_operators_unchecked()
1176 assert_eq!((e1 | e2), (Flags::ABC | extra)); // union in test_operators_unchecked()
1177 assert_eq!((e1 & e2), Flags::C); // intersection in test_operators_unchecked()
1178 assert_eq!((e1 - e2), (Flags::A | extra)); // set difference in test_operators_unchecked()
1179 assert_eq!(!e2, Flags::A); // set complement in test_operators_unchecked()
1180 assert_eq!(!e1, Flags::B); // set complement in test_operators_unchecked()
1181 assert_eq!(e1 ^ e2, Flags::A | Flags::B | extra); // toggle in test_operators_unchecked()
1184 assert_eq!(e3, Flags::A | Flags::B | extra); in test_operators_unchecked()
1189 let ab = Flags::A.union(Flags::B); in test_set_ops_basic()
1190 let ac = Flags::A.union(Flags::C); in test_set_ops_basic()
1191 let bc = Flags::B.union(Flags::C); in test_set_ops_basic()
1196 assert_eq!(ab, Flags::B.union(Flags::A)); in test_set_ops_basic()
1197 assert_eq!(ac, Flags::C.union(Flags::A)); in test_set_ops_basic()
1198 assert_eq!(bc, Flags::C.union(Flags::B)); in test_set_ops_basic()
1200 assert_eq!(ac, Flags::A | Flags::C); in test_set_ops_basic()
1201 assert_eq!(bc, Flags::B | Flags::C); in test_set_ops_basic()
1202 assert_eq!(ab.union(bc), Flags::ABC); in test_set_ops_basic()
1204 assert_eq!(ac, Flags::A | Flags::C); in test_set_ops_basic()
1205 assert_eq!(bc, Flags::B | Flags::C); in test_set_ops_basic()
1208 assert_eq!(ac.union(bc), Flags::ABC); in test_set_ops_basic()
1209 assert_eq!(bc.union(ac), Flags::ABC); in test_set_ops_basic()
1212 assert_eq!(ac.intersection(bc), Flags::C); in test_set_ops_basic()
1213 assert_eq!(bc.intersection(ac), Flags::C); in test_set_ops_basic()
1217 assert_eq!(ac.difference(bc), Flags::A); in test_set_ops_basic()
1218 assert_eq!(bc.difference(ac), Flags::B); in test_set_ops_basic()
1221 assert_eq!(bc.complement(), Flags::A); in test_set_ops_basic()
1222 assert_eq!(ac.symmetric_difference(bc), Flags::A.union(Flags::B)); in test_set_ops_basic()
1223 assert_eq!(bc.symmetric_difference(ac), Flags::A.union(Flags::B)); in test_set_ops_basic()
1230 const INTERSECT: Flags = Flags::all().intersection(Flags::C); in test_set_ops_const()
1231 const UNION: Flags = Flags::A.union(Flags::C); in test_set_ops_const()
1232 const DIFFERENCE: Flags = Flags::all().difference(Flags::A); in test_set_ops_const()
1233 const COMPLEMENT: Flags = Flags::C.complement(); in test_set_ops_const()
1234 const SYM_DIFFERENCE: Flags = UNION.symmetric_difference(DIFFERENCE); in test_set_ops_const()
1235 assert_eq!(INTERSECT, Flags::C); in test_set_ops_const()
1236 assert_eq!(UNION, Flags::A | Flags::C); in test_set_ops_const()
1237 assert_eq!(DIFFERENCE, Flags::all() - Flags::A); in test_set_ops_const()
1238 assert_eq!(COMPLEMENT, !Flags::C); in test_set_ops_const()
1239 assert_eq!(SYM_DIFFERENCE, (Flags::A | Flags::C) ^ (Flags::all() - Flags::A)); in test_set_ops_const()
1244 let extra = unsafe { Flags::from_bits_unchecked(0b1000) }; in test_set_ops_unchecked()
1245 let e1 = Flags::A.union(Flags::C).union(extra); in test_set_ops_unchecked()
1246 let e2 = Flags::B.union(Flags::C); in test_set_ops_unchecked()
1248 assert_eq!(e1.union(e2), (Flags::ABC | extra)); in test_set_ops_unchecked()
1249 assert_eq!(e1.intersection(e2), Flags::C); in test_set_ops_unchecked()
1250 assert_eq!(e1.difference(e2), Flags::A | extra); in test_set_ops_unchecked()
1251 assert_eq!(e2.difference(e1), Flags::B); in test_set_ops_unchecked()
1252 assert_eq!(e2.complement(), Flags::A); in test_set_ops_unchecked()
1253 assert_eq!(e1.complement(), Flags::B); in test_set_ops_unchecked()
1254 assert_eq!(e1.symmetric_difference(e2), Flags::A | Flags::B | extra); // toggle in test_set_ops_unchecked()
1371 let mut e1 = Flags::A | Flags::C; in test_set()
1372 e1.set(Flags::B, true); in test_set()
1373 e1.set(Flags::C, false); in test_set()
1375 assert_eq!(e1, Flags::A | Flags::B); in test_set()
1380 let mut m1 = Flags::empty(); in test_assignment_operators()
1381 let e1 = Flags::A | Flags::C; in test_assignment_operators()
1383 m1 |= Flags::A; in test_assignment_operators()
1384 assert_eq!(m1, Flags::A); in test_assignment_operators()
1387 assert_eq!(m1, Flags::A); in test_assignment_operators()
1390 assert_eq!(m1, Flags::empty()); in test_assignment_operators()
1398 const _M1: Flags = Flags::empty(); in test_const_fn()
1400 const M2: Flags = Flags::A; in test_const_fn()
1401 assert_eq!(M2, Flags::A); in test_const_fn()
1403 const M3: Flags = Flags::C; in test_const_fn()
1404 assert_eq!(M3, Flags::C); in test_const_fn()
1411 flags = Flags::empty(); in test_extend()
1413 assert_eq!(flags, Flags::empty()); in test_extend()
1415 flags = Flags::empty(); in test_extend()
1416 flags.extend([Flags::A, Flags::B].iter().cloned()); in test_extend()
1417 assert_eq!(flags, Flags::A | Flags::B); in test_extend()
1419 flags = Flags::A; in test_extend()
1420 flags.extend([Flags::A, Flags::B].iter().cloned()); in test_extend()
1421 assert_eq!(flags, Flags::A | Flags::B); in test_extend()
1423 flags = Flags::B; in test_extend()
1424 flags.extend([Flags::A, Flags::ABC].iter().cloned()); in test_extend()
1425 assert_eq!(flags, Flags::ABC); in test_extend()
1430 assert_eq!([].iter().cloned().collect::<Flags>(), Flags::empty()); in test_from_iterator()
1432 [Flags::A, Flags::B].iter().cloned().collect::<Flags>(), in test_from_iterator()
1433 Flags::A | Flags::B in test_from_iterator()
1436 [Flags::A, Flags::ABC].iter().cloned().collect::<Flags>(), in test_from_iterator()
1437 Flags::ABC in test_from_iterator()
1443 let mut a = Flags::empty(); in test_lt()
1444 let mut b = Flags::empty(); in test_lt()
1447 b = Flags::B; in test_lt()
1449 a = Flags::C; in test_lt()
1451 b = Flags::C | Flags::B; in test_lt()
1457 let mut a = Flags::empty(); in test_ord()
1458 let mut b = Flags::empty(); in test_ord()
1461 a = Flags::A; in test_ord()
1464 b = Flags::B; in test_ord()
1477 let mut x = Flags::empty(); in test_hash()
1478 let mut y = Flags::empty(); in test_hash()
1480 x = Flags::all(); in test_hash()
1481 y = Flags::ABC; in test_hash()
1487 assert_eq!(Flags::empty(), Flags::default()); in test_default()
1492 assert_eq!(format!("{:?}", Flags::A | Flags::B), "A | B"); in test_debug()
1493 assert_eq!(format!("{:?}", Flags::empty()), "(empty)"); in test_debug()
1494 assert_eq!(format!("{:?}", Flags::ABC), "A | B | C | ABC"); in test_debug()
1495 let extra = unsafe { Flags::from_bits_unchecked(0xb8) }; in test_debug()
1497 assert_eq!(format!("{:?}", Flags::A | extra), "A | 0xb8"); in test_debug()
1500 format!("{:?}", Flags::ABC | extra), in test_debug()
1509 assert_eq!(format!("{:b}", Flags::ABC), "111"); in test_binary()
1510 assert_eq!(format!("{:#b}", Flags::ABC), "0b111"); in test_binary()
1511 let extra = unsafe { Flags::from_bits_unchecked(0b1010000) }; in test_binary()
1512 assert_eq!(format!("{:b}", Flags::ABC | extra), "1010111"); in test_binary()
1513 assert_eq!(format!("{:#b}", Flags::ABC | extra), "0b1010111"); in test_binary()
1572 struct Flags: foo::Bar {
1585 struct Flags: u8 { in test_in_function()
1591 assert_eq!(Flags::all(), Flags::A); in test_in_function()
1592 assert_eq!(format!("{:?}", Flags::A), "A"); in test_in_function()
1650 struct Flags: u32 { in test_zero_value_flags()
1656 assert!(Flags::empty().contains(Flags::NONE)); in test_zero_value_flags()
1657 assert!(Flags::SOME.contains(Flags::NONE)); in test_zero_value_flags()
1658 assert!(Flags::NONE.is_empty()); in test_zero_value_flags()
1660 assert_eq!(format!("{:?}", Flags::empty()), "NONE"); in test_zero_value_flags()
1661 assert_eq!(format!("{:?}", Flags::SOME), "SOME"); in test_zero_value_flags()