summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/unneeded_field_pattern.rs
blob: 48ae1cf66405e50c80764605dca086c0e41bdb57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//@aux-build:proc_macros.rs:proc-macro
#![warn(clippy::unneeded_field_pattern)]
#![allow(dead_code, unused)]

#[macro_use]
extern crate proc_macros;

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, .. } => {},

        Foo { a: _, b: _, c: _ } => {},
    }
    match f {
        Foo { b: 0, .. } => {}, // should be OK
        Foo { .. } => {},       // and the Force might be with this one
    }
    external! {
        let f = Foo { a: 0, b: 0, c: 0 };
        match f {
            Foo { a: _, b: 0, .. } => {},

            Foo { a: _, b: _, c: _ } => {},
        }
    }
}