2020-01-01 17:48:58 -06:00
|
|
|
// Test for issue #67776: binding named the same as enum variant
|
2022-11-08 09:24:06 -06:00
|
|
|
// should report an error even when matching against a reference type
|
2020-01-01 17:48:58 -06:00
|
|
|
|
|
|
|
#![allow(unused_variables)]
|
|
|
|
#![allow(non_snake_case)]
|
|
|
|
|
|
|
|
enum Foo {
|
|
|
|
Bar,
|
|
|
|
Baz,
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2020-01-02 14:08:25 -06:00
|
|
|
fn fn1(e: Foo) {
|
2020-01-01 17:48:58 -06:00
|
|
|
match e {
|
2020-01-02 14:08:25 -06:00
|
|
|
Bar => {},
|
2022-11-08 09:24:06 -06:00
|
|
|
//~^ ERROR named the same as one of the variants of the type `Foo`
|
2020-01-02 14:08:25 -06:00
|
|
|
Baz => {},
|
2022-11-08 09:24:06 -06:00
|
|
|
//~^ ERROR named the same as one of the variants of the type `Foo`
|
2020-01-01 17:48:58 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-01-02 14:08:25 -06:00
|
|
|
fn fn2(e: &Foo) {
|
2020-01-01 17:48:58 -06:00
|
|
|
match e {
|
2020-01-02 14:08:25 -06:00
|
|
|
Bar => {},
|
2022-11-08 09:24:06 -06:00
|
|
|
//~^ ERROR named the same as one of the variants of the type `Foo`
|
2020-01-02 14:08:25 -06:00
|
|
|
Baz => {},
|
2022-11-08 09:24:06 -06:00
|
|
|
//~^ ERROR named the same as one of the variants of the type `Foo`
|
2020-01-02 14:08:25 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn fn3(e: &mut &&mut Foo) {
|
|
|
|
match e {
|
|
|
|
Bar => {},
|
2022-11-08 09:24:06 -06:00
|
|
|
//~^ ERROR named the same as one of the variants of the type `Foo`
|
2020-01-02 14:08:25 -06:00
|
|
|
Baz => {},
|
2022-11-08 09:24:06 -06:00
|
|
|
//~^ ERROR named the same as one of the variants of the type `Foo`
|
2020-01-01 17:48:58 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|