]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/redundant_field_names.fixed
Auto merge of #107843 - bjorn3:sync_cg_clif-2023-02-09, r=bjorn3
[rust.git] / src / tools / clippy / tests / ui / redundant_field_names.fixed
1 // run-rustfix
2
3 #![warn(clippy::redundant_field_names)]
4 #![allow(clippy::no_effect, dead_code, unused_variables)]
5
6 #[macro_use]
7 extern crate derive_new;
8
9 use std::ops::{Range, RangeFrom, RangeInclusive, RangeTo, RangeToInclusive};
10
11 mod foo {
12     pub const BAR: u8 = 0;
13 }
14
15 struct Person {
16     gender: u8,
17     age: u8,
18     name: u8,
19     buzz: u64,
20     foo: u8,
21 }
22
23 #[derive(new)]
24 pub struct S {
25     v: String,
26 }
27
28 fn main() {
29     let gender: u8 = 42;
30     let age = 0;
31     let fizz: u64 = 0;
32     let name: u8 = 0;
33
34     let me = Person {
35         gender,
36         age,
37
38         name,          //should be ok
39         buzz: fizz,    //should be ok
40         foo: foo::BAR, //should be ok
41     };
42
43     // Range expressions
44     let (start, end) = (0, 0);
45
46     let _ = start..;
47     let _ = ..end;
48     let _ = start..end;
49
50     let _ = ..=end;
51     let _ = start..=end;
52
53     // Issue #2799
54     let _: Vec<_> = (start..end).collect();
55
56     // hand-written Range family structs are linted
57     let _ = RangeFrom { start };
58     let _ = RangeTo { end };
59     let _ = Range { start, end };
60     let _ = RangeInclusive::new(start, end);
61     let _ = RangeToInclusive { end };
62 }
63
64 fn issue_3476() {
65     fn foo<T>() {}
66
67     struct S {
68         foo: fn(),
69     }
70
71     S { foo: foo::<i32> };
72 }
73
74 #[clippy::msrv = "1.16"]
75 fn msrv_1_16() {
76     let start = 0;
77     let _ = RangeFrom { start: start };
78 }
79
80 #[clippy::msrv = "1.17"]
81 fn msrv_1_17() {
82     let start = 0;
83     let _ = RangeFrom { start };
84 }