]> git.lizzy.rs Git - rust.git/blob - tests/ui/redundant_field_names.rs
Don't lint range syntax with var name `start` and `end`
[rust.git] / tests / ui / redundant_field_names.rs
1 #![warn(redundant_field_names)]
2 #![allow(unused_variables)]
3 #![feature(inclusive_range,inclusive_range_syntax)]
4
5 mod foo {
6     pub const BAR: u8 = 0;
7 }
8
9 struct Person {
10     gender: u8,
11     age: u8,
12     name: u8,
13     buzz: u64,
14     foo: u8,
15 }
16
17 fn main() {
18     let gender: u8 = 42;
19     let age = 0;
20     let fizz: u64 = 0;
21     let name: u8 = 0;
22
23     let me = Person {
24         gender: gender,
25         age: age,
26
27         name, //should be ok
28         buzz: fizz, //should be ok
29         foo: foo::BAR, //should be ok
30     };
31
32     // Range syntax
33     let (start, end) = (0, 0);
34
35     let _ = start..;
36     let _ = ..end;
37     let _ = start..end;
38
39     let _ = ..=end;
40     let _ = start..=end;
41
42     // TODO: the followings shoule be linted
43     let _ = ::std::ops::RangeFrom { start: start };
44     let _ = ::std::ops::RangeTo { end: end };
45     let _ = ::std::ops::Range { start: start, end: end };
46     let _ = ::std::ops::RangeInclusive { start: start, end: end };
47     let _ = ::std::ops::RangeToInclusive { end: end };
48 }