How come the following isn't valid? ``` bitflags! { #[derive(PartialEq, Eq, PartialOrd, Ord)] pub struct U32: u32 { const A = 0b00000001; const B = 0b00000010; const C = 0b00000100; } } #[test] fn test_flags() { match U32::A | U32::B { U32::A | U32::B => {}, _ => panic!() } } ```