]> git.lizzy.rs Git - rust.git/blob - tests/ui/numbered_fields.fixed
Don't lint `if_same_then_else` with `if let` conditions
[rust.git] / tests / ui / numbered_fields.fixed
1 //run-rustfix
2 #![warn(clippy::init_numbered_fields)]
3
4 #[derive(Default)]
5 struct TupleStruct(u32, u32, u8);
6
7 // This shouldn't lint because it's in a macro
8 macro_rules! tuple_struct_init {
9     () => {
10         TupleStruct { 0: 0, 1: 1, 2: 2 }
11     };
12 }
13
14 fn main() {
15     let tuple_struct = TupleStruct::default();
16
17     // This should lint
18     let _ = TupleStruct(1u32, 42, 23u8);
19
20     // This should also lint and order the fields correctly
21     let _ = TupleStruct(1u32, 3u32, 2u8);
22
23     // Ok because of default initializer
24     let _ = TupleStruct { 0: 42, ..tuple_struct };
25
26     let _ = TupleStruct {
27         1: 23,
28         ..TupleStruct::default()
29     };
30
31     // Ok because it's in macro
32     let _ = tuple_struct_init!();
33 }