Add test for wild fields

This commit is contained in:
Guillaume Gomez 2016-01-02 23:13:15 +01:00
parent bd8a265000
commit 4b9912c2b0
1 changed files with 26 additions and 0 deletions

View File

@ -0,0 +1,26 @@
#![feature(plugin)]
#![plugin(clippy)]
#![deny(unneeded_field_pattern)]
#[allow(dead_code, unused)]
struct Foo {
a: i32,
b: i32,
c: i32,
}
fn main() {
let f = Foo { a: 0, b: 0, c: 0 };
match f {
Foo { a: _, b: 0, .. } => {} //~ERROR You matched a field with a wildcard pattern
//~^ HELP Try with `Foo { b: 0, .. }`
Foo { a: _, b: _, c: _ } => {} //~ERROR All the struct fields are matched to a
//~^ HELP Try with `Foo { .. }`
}
match f {
Foo { b: 0, .. } => {} // should be OK
Foo { .. } => {} // and the Force might be with this one
}
}