23 lines
430 B
Rust
23 lines
430 B
Rust
trait EnumSetType {
|
|
type Repr;
|
|
}
|
|
|
|
enum Enum8 { }
|
|
impl EnumSetType for Enum8 {
|
|
type Repr = u8;
|
|
}
|
|
|
|
#[derive(PartialEq, Eq)]
|
|
struct EnumSet<T: EnumSetType> {
|
|
__enumset_underlying: T::Repr,
|
|
}
|
|
|
|
const CONST_SET: EnumSet<Enum8> = EnumSet { __enumset_underlying: 3 };
|
|
|
|
fn main() {
|
|
match CONST_SET {
|
|
CONST_SET => { /* ok */ } //~ERROR: must implement `PartialEq`
|
|
_ => panic!("match fell through?"),
|
|
}
|
|
}
|