12 const A = 0b0000_0000_0000_0001;
13 const B = 0b0000_0000_0000_0010;
14 const C = 0b0000_0000_0000_0100;
15 const D = 0b0000_0000_0000_1000;
16 const E = 0b0000_0000_0001_0000;
17 const F = 0b0000_0000_0010_0000;
18 const G = 0b0000_0000_0100_0000;
19 const H = 0b0000_0000_1000_0000;
20 const I = 0b0000_0001_0000_0000;
21 const J = 0b0000_0010_0000_0000;
25 impl FromStr for Flags10 {
26 type Err = bitflags::parser::ParseError;
28 fn from_str(flags: &str) -> Result<Self, Self::Err> {
29 Ok(Flags10(flags.parse()?))
33 impl Display for Flags10 {
34 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
35 Display::fmt(&self.0, f)
40 fn format_flags_1_present(b: &mut test::Bencher) {
41 b.iter(|| Flags10::J.to_string())
45 fn format_flags_5_present(b: &mut test::Bencher) {
46 b.iter(|| (Flags10::F | Flags10::G | Flags10::H | Flags10::I | Flags10::J).to_string())
50 fn format_flags_10_present(b: &mut test::Bencher) {
67 fn parse_flags_1_10(b: &mut test::Bencher) {
69 let flags: Flags10 = "J".parse().unwrap();
75 fn parse_flags_5_10(b: &mut test::Bencher) {
77 let flags: Flags10 = "F | G | H | I | J".parse().unwrap();
83 fn parse_flags_10_10(b: &mut test::Bencher) {
85 let flags: Flags10 = "A | B | C | D | E | F | G | H | I | J".parse().unwrap();
91 fn parse_flags_1_10_hex(b: &mut test::Bencher) {
93 let flags: Flags10 = "0xFF".parse().unwrap();