How to implement bitwise operations on a bitflags enum?
问题 I have an enum that looks like this: #[repr(u8)] pub enum PublicFlags { PublicFlagVersion = 0x01, PublicFlagReset = 0x02, NoncePresent = 0x04, IdPresent = 0x08, PktNumLen4 = 0x30, PktNumLen2 = 0x20, PktNumLen1 = 0x10, Multipath = 0x40, } I want to do a bitwise operation on several of the enum values. However, the Rust compiler complains: an implementation of `std::ops::BitAnd` might be missing for `PublicFlags`. 回答1: An enum in Rust is not intended to be used as bit flags. PublicFlags can