mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 00:03:43 +00:00
Add test for wild fields
This commit is contained in:
parent
bd8a265000
commit
4b9912c2b0
26
tests/compile-fail/unneeded_field_pattern.rs
Normal file
26
tests/compile-fail/unneeded_field_pattern.rs
Normal 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
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user