]> git.lizzy.rs Git - rust.git/blob - tests/ui/no_effect.rs
Adapt the *.stderr files of the ui-tests to the tool_lints
[rust.git] / tests / ui / no_effect.rs
1 #![feature(tool_lints)]
2
3 #![feature(box_syntax)]
4
5
6 #![warn(clippy::no_effect, clippy::unnecessary_operation)]
7 #![allow(dead_code)]
8 #![allow(path_statements)]
9 #![allow(clippy::deref_addrof)]
10 #![allow(clippy::redundant_field_names)]
11 #![feature(untagged_unions)]
12
13 struct Unit;
14 struct Tuple(i32);
15 struct Struct {
16     field: i32
17 }
18 enum Enum {
19     Tuple(i32),
20     Struct { field: i32 },
21 }
22 struct DropUnit;
23 impl Drop for DropUnit {
24     fn drop(&mut self) {}
25 }
26 struct DropStruct {
27     field: i32
28 }
29 impl Drop for DropStruct {
30     fn drop(&mut self) {}
31 }
32 struct DropTuple(i32);
33 impl Drop for DropTuple {
34     fn drop(&mut self) {}
35 }
36 enum DropEnum {
37     Tuple(i32),
38     Struct { field: i32 },
39 }
40 impl Drop for DropEnum {
41     fn drop(&mut self) {}
42 }
43 struct FooString {
44     s: String,
45 }
46 union Union {
47     a: u8,
48     b: f64,
49 }
50
51 fn get_number() -> i32 { 0 }
52 fn get_struct() -> Struct { Struct { field: 0 } }
53 fn get_drop_struct() -> DropStruct { DropStruct { field: 0 } }
54
55 unsafe fn unsafe_fn() -> i32 { 0 }
56
57 fn main() {
58     let s = get_struct();
59     let s2 = get_struct();
60
61     0;
62     s2;
63     Unit;
64     Tuple(0);
65     Struct { field: 0 };
66     Struct { ..s };
67     Union { a: 0 };
68     Enum::Tuple(0);
69     Enum::Struct { field: 0 };
70     5 + 6;
71     *&42;
72     &6;
73     (5, 6, 7);
74     box 42;
75     ..;
76     5..;
77     ..5;
78     5..6;
79     5..=6;
80     [42, 55];
81     [42, 55][1];
82     (42, 55).1;
83     [42; 55];
84     [42; 55][13];
85     let mut x = 0;
86     || x += 5;
87     let s: String = "foo".into();
88     FooString { s: s };
89
90     // Do not warn
91     get_number();
92     unsafe { unsafe_fn() };
93     DropUnit;
94     DropStruct { field: 0 };
95     DropTuple(0);
96     DropEnum::Tuple(0);
97     DropEnum::Struct { field: 0 };
98
99     Tuple(get_number());
100     Struct { field: get_number() };
101     Struct { ..get_struct() };
102     Enum::Tuple(get_number());
103     Enum::Struct { field: get_number() };
104     5 + get_number();
105     *&get_number();
106     &get_number();
107     (5, 6, get_number());
108     box get_number();
109     get_number()..;
110     ..get_number();
111     5..get_number();
112     [42, get_number()];
113     [42, 55][get_number() as usize];
114     (42, get_number()).1;
115     [get_number(); 55];
116     [42; 55][get_number() as usize];
117     {get_number()};
118     FooString { s: String::from("blah"), };
119
120     // Do not warn
121     DropTuple(get_number());
122     DropStruct { field: get_number() };
123     DropStruct { field: get_number() };
124     DropStruct { ..get_drop_struct() };
125     DropEnum::Tuple(get_number());
126     DropEnum::Struct { field: get_number() };
127 }