]> git.lizzy.rs Git - rust.git/blob - tests/ui/redundant_field_names.rs
Rustup
[rust.git] / tests / ui / redundant_field_names.rs
1 #![warn(redundant_field_names)]
2 #![allow(unused_variables)]
3 #![feature(inclusive_range, inclusive_range_fields)]
4
5 #[macro_use]
6 extern crate derive_new;
7
8 use std::ops::{Range, RangeFrom, RangeTo, RangeInclusive, RangeToInclusive};
9
10 mod foo {
11     pub const BAR: u8 = 0;
12 }
13
14 struct Person {
15     gender: u8,
16     age: u8,
17     name: u8,
18     buzz: u64,
19     foo: u8,
20 }
21
22 #[derive(new)]
23 pub struct S {
24     v: String,
25 }
26
27 fn main() {
28     let gender: u8 = 42;
29     let age = 0;
30     let fizz: u64 = 0;
31     let name: u8 = 0;
32
33     let me = Person {
34         gender: gender,
35         age: age,
36
37         name, //should be ok
38         buzz: fizz, //should be ok
39         foo: foo::BAR, //should be ok
40     };
41
42     // Range expressions
43     let (start, end) = (0, 0);
44
45     let _ = start..;
46     let _ = ..end;
47     let _ = start..end;
48
49     let _ = ..=end;
50     let _ = start..=end;
51
52     // hand-written Range family structs are linted
53     let _ = RangeFrom { start: start };
54     let _ = RangeTo { end: end };
55     let _ = Range { start: start, end: end };
56     let _ = RangeInclusive { start: start, end: end };
57     let _ = RangeToInclusive { end: end };
58 }