2023-07-27 08:23:04 -05:00
|
|
|
//@aux-build:proc_macros.rs
|
2018-07-28 10:34:52 -05:00
|
|
|
#![warn(clippy::unneeded_field_pattern)]
|
2023-08-31 00:24:49 -05:00
|
|
|
#![allow(dead_code, unused, clippy::single_match)]
|
2023-06-22 22:01:17 -05:00
|
|
|
|
|
|
|
#[macro_use]
|
|
|
|
extern crate proc_macros;
|
2016-01-02 16:13:15 -06:00
|
|
|
|
|
|
|
struct Foo {
|
|
|
|
a: i32,
|
|
|
|
b: i32,
|
|
|
|
c: i32,
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let f = Foo { a: 0, b: 0, c: 0 };
|
|
|
|
|
|
|
|
match f {
|
2018-12-09 16:26:16 -06:00
|
|
|
Foo { a: _, b: 0, .. } => {},
|
2017-02-08 07:58:07 -06:00
|
|
|
|
2018-12-09 16:26:16 -06:00
|
|
|
Foo { a: _, b: _, c: _ } => {},
|
2016-01-02 16:13:15 -06:00
|
|
|
}
|
|
|
|
match f {
|
2018-12-09 16:26:16 -06:00
|
|
|
Foo { b: 0, .. } => {}, // should be OK
|
|
|
|
Foo { .. } => {}, // and the Force might be with this one
|
2016-01-02 16:13:15 -06:00
|
|
|
}
|
2023-06-22 22:01:17 -05:00
|
|
|
external! {
|
|
|
|
let f = Foo { a: 0, b: 0, c: 0 };
|
|
|
|
match f {
|
|
|
|
Foo { a: _, b: 0, .. } => {},
|
|
|
|
|
|
|
|
Foo { a: _, b: _, c: _ } => {},
|
|
|
|
}
|
|
|
|
}
|
2016-01-03 07:00:42 -06:00
|
|
|
}
|