2023-07-27 13:23:04 +00:00
|
|
|
//@aux-build:proc_macros.rs
|
2018-07-28 17:34:52 +02:00
|
|
|
#![warn(clippy::unneeded_field_pattern)]
|
2023-08-31 01:24:49 -04: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 23:13:15 +01: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 23:26:16 +01:00
|
|
|
Foo { a: _, b: 0, .. } => {},
|
2017-02-08 14:58:07 +01:00
|
|
|
|
2018-12-09 23:26:16 +01:00
|
|
|
Foo { a: _, b: _, c: _ } => {},
|
2016-01-02 23:13:15 +01:00
|
|
|
}
|
|
|
|
match f {
|
2018-12-09 23:26:16 +01:00
|
|
|
Foo { b: 0, .. } => {}, // should be OK
|
|
|
|
Foo { .. } => {}, // and the Force might be with this one
|
2016-01-02 23:13:15 +01: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 14:00:42 +01:00
|
|
|
}
|