mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-28 17:53:56 +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