]> git.lizzy.rs Git - rust.git/blob - tests/ui/unnecessary_operation.rs
Auto merge of #4314 - chansuke:add-negation-to-is_empty, r=flip1995
[rust.git] / tests / ui / unnecessary_operation.rs
1 #![feature(box_syntax)]
2 #![allow(clippy::deref_addrof)]
3 #![warn(clippy::unnecessary_operation)]
4
5 struct Tuple(i32);
6 struct Struct {
7     field: i32,
8 }
9 enum Enum {
10     Tuple(i32),
11     Struct { field: i32 },
12 }
13 struct DropStruct {
14     field: i32,
15 }
16 impl Drop for DropStruct {
17     fn drop(&mut self) {}
18 }
19 struct DropTuple(i32);
20 impl Drop for DropTuple {
21     fn drop(&mut self) {}
22 }
23 enum DropEnum {
24     Tuple(i32),
25     Struct { field: i32 },
26 }
27 impl Drop for DropEnum {
28     fn drop(&mut self) {}
29 }
30 struct FooString {
31     s: String,
32 }
33
34 fn get_number() -> i32 {
35     0
36 }
37 fn get_struct() -> Struct {
38     Struct { field: 0 }
39 }
40 fn get_drop_struct() -> DropStruct {
41     DropStruct { field: 0 }
42 }
43
44 fn main() {
45     Tuple(get_number());
46     Struct { field: get_number() };
47     Struct { ..get_struct() };
48     Enum::Tuple(get_number());
49     Enum::Struct { field: get_number() };
50     5 + get_number();
51     *&get_number();
52     &get_number();
53     (5, 6, get_number());
54     box get_number();
55     get_number()..;
56     ..get_number();
57     5..get_number();
58     [42, get_number()];
59     [42, 55][get_number() as usize];
60     (42, get_number()).1;
61     [get_number(); 55];
62     [42; 55][get_number() as usize];
63     {
64         get_number()
65     };
66     FooString {
67         s: String::from("blah"),
68     };
69
70     // Do not warn
71     DropTuple(get_number());
72     DropStruct { field: get_number() };
73     DropStruct { field: get_number() };
74     DropStruct { ..get_drop_struct() };
75     DropEnum::Tuple(get_number());
76     DropEnum::Struct { field: get_number() };
77 }