131 lines
2.6 KiB
Rust
131 lines
2.6 KiB
Rust
mod all;
|
|
mod bits;
|
|
mod complement;
|
|
mod contains;
|
|
mod difference;
|
|
mod empty;
|
|
mod eq;
|
|
mod extend;
|
|
mod flags;
|
|
mod fmt;
|
|
mod from_bits;
|
|
mod from_bits_retain;
|
|
mod from_bits_truncate;
|
|
mod from_name;
|
|
mod insert;
|
|
mod intersection;
|
|
mod intersects;
|
|
mod is_all;
|
|
mod is_empty;
|
|
mod iter;
|
|
mod parser;
|
|
mod remove;
|
|
mod symmetric_difference;
|
|
mod union;
|
|
|
|
bitflags! {
|
|
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
|
|
pub struct TestFlags: u8 {
|
|
/// 1
|
|
const A = 1;
|
|
|
|
/// 1 << 1
|
|
const B = 1 << 1;
|
|
|
|
/// 1 << 2
|
|
const C = 1 << 2;
|
|
|
|
/// 1 | (1 << 1) | (1 << 2)
|
|
const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits();
|
|
}
|
|
|
|
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
|
|
pub struct TestFlagsInvert: u8 {
|
|
/// 1 | (1 << 1) | (1 << 2)
|
|
const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits();
|
|
|
|
/// 1
|
|
const A = 1;
|
|
|
|
/// 1 << 1
|
|
const B = 1 << 1;
|
|
|
|
/// 1 << 2
|
|
const C = 1 << 2;
|
|
}
|
|
|
|
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
|
|
pub struct TestZero: u8 {
|
|
/// 0
|
|
const ZERO = 0;
|
|
}
|
|
|
|
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
|
|
pub struct TestZeroOne: u8 {
|
|
/// 0
|
|
const ZERO = 0;
|
|
|
|
/// 1
|
|
const ONE = 1;
|
|
}
|
|
|
|
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
|
|
pub struct TestUnicode: u8 {
|
|
/// 1
|
|
const 一 = 1;
|
|
|
|
/// 2
|
|
const 二 = 1 << 1;
|
|
}
|
|
|
|
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
|
|
pub struct TestEmpty: u8 {}
|
|
|
|
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
|
|
pub struct TestOverlapping: u8 {
|
|
/// 1 | (1 << 1)
|
|
const AB = 1 | (1 << 1);
|
|
|
|
/// (1 << 1) | (1 << 2)
|
|
const BC = (1 << 1) | (1 << 2);
|
|
}
|
|
|
|
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
|
|
pub struct TestOverlappingFull: u8 {
|
|
/// 1
|
|
const A = 1;
|
|
|
|
/// 1
|
|
const B = 1;
|
|
|
|
/// 1
|
|
const C = 1;
|
|
|
|
/// 2
|
|
const D = 1 << 1;
|
|
}
|
|
|
|
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
|
|
pub struct TestExternal: u8 {
|
|
/// 1
|
|
const A = 1;
|
|
|
|
/// 1 << 1
|
|
const B = 1 << 1;
|
|
|
|
/// 1 << 2
|
|
const C = 1 << 2;
|
|
|
|
/// 1 | (1 << 1) | (1 << 2)
|
|
const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits();
|
|
|
|
/// External
|
|
const _ = !0;
|
|
}
|
|
|
|
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
|
|
pub struct TestExternalFull: u8 {
|
|
/// External
|
|
const _ = !0;
|
|
}
|
|
}
|