]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/numbered_fields.fixed
Auto merge of #102536 - scottmcm:lookup_line-tweak, r=jackh726
[rust.git] / src / tools / clippy / tests / ui / numbered_fields.fixed
1 //run-rustfix
2 #![warn(clippy::init_numbered_fields)]
3 #![allow(unused_tuple_struct_fields)]
4
5 #[derive(Default)]
6 struct TupleStruct(u32, u32, u8);
7
8 // This shouldn't lint because it's in a macro
9 macro_rules! tuple_struct_init {
10     () => {
11         TupleStruct { 0: 0, 1: 1, 2: 2 }
12     };
13 }
14
15 fn main() {
16     let tuple_struct = TupleStruct::default();
17
18     // This should lint
19     let _ = TupleStruct(1u32, 42, 23u8);
20
21     // This should also lint and order the fields correctly
22     let _ = TupleStruct(1u32, 3u32, 2u8);
23
24     // Ok because of default initializer
25     let _ = TupleStruct { 0: 42, ..tuple_struct };
26
27     let _ = TupleStruct {
28         1: 23,
29         ..TupleStruct::default()
30     };
31
32     // Ok because it's in macro
33     let _ = tuple_struct_init!();
34
35     type Alias = TupleStruct;
36
37     // Aliases can't be tuple constructed #8638
38     let _ = Alias { 0: 0, 1: 1, 2: 2 };
39 }