Skip to content

Commit

Permalink
Added test
Browse files Browse the repository at this point in the history
  • Loading branch information
LeSeulArtichaut committed Jan 1, 2020
1 parent 4f63985 commit f474c00
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
33 changes: 33 additions & 0 deletions src/test/ui/match/match-same-name-enum-variant.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Test for issue #67776: binding named the same as enum variant
// should report a warning even when matching against a borrow

// check-pass

#![allow(unused_variables)]
#![allow(non_snake_case)]

enum Foo {
Bar,
Baz,
}


fn fn2(e: Foo) {
match e {
Bar => println!("A"),
//~^ WARNING named the same as one of the variants of the type `Foo`
Baz => println!("B"),
//~^ WARNING named the same as one of the variants of the type `Foo`
}
}

fn fn1(e: &Foo) {
match e {
Bar => println!("A"),
//~^ WARNING named the same as one of the variants of the type `Foo`
Baz => println!("B"),
//~^ WARNING named the same as one of the variants of the type `Foo`
}
}

fn main() {}
24 changes: 24 additions & 0 deletions src/test/ui/match/match-same-name-enum-variant.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
warning[E0170]: pattern binding `Bar` is named the same as one of the variants of the type `Foo`
--> $DIR/match-same-name-enum-variant.rs:14:9
|
LL | Bar => println!("A"),
| ^^^ help: to match on the variant, qualify the path: `Foo::Bar`

warning[E0170]: pattern binding `Baz` is named the same as one of the variants of the type `Foo`
--> $DIR/match-same-name-enum-variant.rs:16:9
|
LL | Baz => println!("B"),
| ^^^ help: to match on the variant, qualify the path: `Foo::Baz`

warning[E0170]: pattern binding `Bar` is named the same as one of the variants of the type `Foo`
--> $DIR/match-same-name-enum-variant.rs:23:9
|
LL | Bar => println!("A"),
| ^^^ help: to match on the variant, qualify the path: `Foo::Bar`

warning[E0170]: pattern binding `Baz` is named the same as one of the variants of the type `Foo`
--> $DIR/match-same-name-enum-variant.rs:25:9
|
LL | Baz => println!("B"),
| ^^^ help: to match on the variant, qualify the path: `Foo::Baz`

0 comments on commit f474c00

Please sign in to comment.