pub enum EFoo { A, B, C, D } pub trait Foo { const X: EFoo; } struct Abc; impl Foo for Abc { const X: EFoo = EFoo::B; } struct Def; impl Foo for Def { const X: EFoo = EFoo::D; } pub fn test(arg: EFoo) { match arg { A::X => println!("A::X"), //~^ error: associated consts cannot be referenced in patterns [E0158] B::X => println!("B::X"), //~^ error: associated consts cannot be referenced in patterns [E0158] _ => (), } } fn main() { }