]> git.lizzy.rs Git - rust.git/blob - tests/ui/no_effect.rs
Add multiline case for test against map(f).unwrap_or(None)
[rust.git] / tests / ui / no_effect.rs
1 #![feature(plugin, box_syntax, inclusive_range_syntax)]
2
3
4 #![warn(no_effect, unnecessary_operation)]
5 #![allow(dead_code)]
6 #![allow(path_statements)]
7 #![allow(deref_addrof)]
8 #![feature(untagged_unions)]
9
10 struct Unit;
11 struct Tuple(i32);
12 struct Struct {
13     field: i32
14 }
15 enum Enum {
16     Tuple(i32),
17     Struct { field: i32 },
18 }
19
20 union Union {
21     a: u8,
22     b: f64,
23 }
24
25 fn get_number() -> i32 { 0 }
26 fn get_struct() -> Struct { Struct { field: 0 } }
27
28 unsafe fn unsafe_fn() -> i32 { 0 }
29
30 fn main() {
31     let s = get_struct();
32     let s2 = get_struct();
33
34     0;
35     s2;
36     Unit;
37     Tuple(0);
38     Struct { field: 0 };
39     Struct { ..s };
40     Union { a: 0 };
41     Enum::Tuple(0);
42     Enum::Struct { field: 0 };
43     5 + 6;
44     *&42;
45     &6;
46     (5, 6, 7);
47     box 42;
48     ..;
49     5..;
50     ..5;
51     5..6;
52     5..=6;
53     [42, 55];
54     [42, 55][1];
55     (42, 55).1;
56     [42; 55];
57     [42; 55][13];
58     let mut x = 0;
59     || x += 5;
60
61     // Do not warn
62     get_number();
63     unsafe { unsafe_fn() };
64
65     Tuple(get_number());
66     Struct { field: get_number() };
67     Struct { ..get_struct() };
68     Enum::Tuple(get_number());
69     Enum::Struct { field: get_number() };
70     5 + get_number();
71     *&get_number();
72     &get_number();
73     (5, 6, get_number());
74     box get_number();
75     get_number()..;
76     ..get_number();
77     5..get_number();
78     [42, get_number()];
79     [42, 55][get_number() as usize];
80     (42, get_number()).1;
81     [get_number(); 55];
82     [42; 55][get_number() as usize];
83     {get_number()};
84 }