mirror of https://github.com/rust-lang/rust
30 lines
518 B
Rust
30 lines
518 B
Rust
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<A: Foo, B: Foo>(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() {
|
|
}
|