]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/numbered_fields.fixed
New upstream version 1.62.1+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / numbered_fields.fixed
CommitLineData
a2a8927a
XL
1//run-rustfix
2#![warn(clippy::init_numbered_fields)]
3
4#[derive(Default)]
5struct TupleStruct(u32, u32, u8);
6
7// This shouldn't lint because it's in a macro
8macro_rules! tuple_struct_init {
9 () => {
10 TupleStruct { 0: 0, 1: 1, 2: 2 }
11 };
12}
13
14fn 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!();
04454e1e
FG
33
34 type Alias = TupleStruct;
35
36 // Aliases can't be tuple constructed #8638
37 let _ = Alias { 0: 0, 1: 1, 2: 2 };
a2a8927a 38}