]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/redundant_field_names.fixed
New upstream version 1.71.1+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / redundant_field_names.fixed
CommitLineData
49aad941 1//@run-rustfix
2b03887a 2
f20569fa 3#![warn(clippy::redundant_field_names)]
9ffffee4 4#![allow(clippy::extra_unused_type_parameters, clippy::no_effect, dead_code, unused_variables)]
f20569fa
XL
5
6#[macro_use]
7extern crate derive_new;
8
9use std::ops::{Range, RangeFrom, RangeInclusive, RangeTo, RangeToInclusive};
10
11mod foo {
12 pub const BAR: u8 = 0;
13}
14
15struct Person {
16 gender: u8,
17 age: u8,
18 name: u8,
19 buzz: u64,
20 foo: u8,
21}
22
23#[derive(new)]
24pub struct S {
25 v: String,
26}
27
28fn 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
64fn issue_3476() {
65 fn foo<T>() {}
66
67 struct S {
68 foo: fn(),
69 }
70
71 S { foo: foo::<i32> };
72}
2b03887a 73
487cf647 74#[clippy::msrv = "1.16"]
2b03887a 75fn msrv_1_16() {
2b03887a
FG
76 let start = 0;
77 let _ = RangeFrom { start: start };
78}
79
487cf647 80#[clippy::msrv = "1.17"]
2b03887a 81fn msrv_1_17() {
2b03887a
FG
82 let start = 0;
83 let _ = RangeFrom { start };
84}