#![allow(deprecated)]
use bitflags::{bitflags, Flags, BitFlags};
fn uses_flags1<B: Flags>(f: B) -> usize {
uses_bitflags2(f)
}
fn uses_bitflags1<B: BitFlags>(f: B) -> usize {
uses_flags2(f)
}
fn uses_flags2<B: Flags>(f: B) -> usize {
f.iter().count()
}
fn uses_bitflags2<B: BitFlags>(f: B) -> usize {
f.iter().count()
}
bitflags! {
pub struct MyFlags: u32 {
const A = 0b00000001;
const B = 0b00000010;
const C = 0b00000100;
}
}
fn main() {
assert_eq!(uses_flags1(MyFlags::A | MyFlags::B), uses_bitflags1(MyFlags::A | MyFlags::B));
}