]>
Commit | Line | Data |
---|---|---|
ea8adc8c | 1 | #![feature(plugin, never_type)] |
abe05a73 | 2 | |
ea8adc8c XL |
3 | #![warn(diverging_sub_expression)] |
4 | #![allow(match_same_arms, logic_bug)] | |
5 | ||
6 | #[allow(empty_loop)] | |
7 | fn diverge() -> ! { loop {} } | |
8 | ||
9 | struct A; | |
10 | ||
11 | impl A { | |
12 | fn foo(&self) -> ! { diverge() } | |
13 | } | |
14 | ||
15 | #[allow(unused_variables, unnecessary_operation, short_circuit_statement)] | |
16 | fn main() { | |
17 | let b = true; | |
18 | b || diverge(); | |
19 | b || A.foo(); | |
20 | } | |
21 | ||
22 | #[allow(dead_code, unused_variables)] | |
23 | fn foobar() { | |
24 | loop { | |
25 | let x = match 5 { | |
26 | 4 => return, | |
27 | 5 => continue, | |
28 | 6 => true || return, | |
29 | 7 => true || continue, | |
30 | 8 => break, | |
31 | 9 => diverge(), | |
32 | 3 => true || diverge(), | |
33 | 10 => match 42 { | |
34 | 99 => return, | |
35 | _ => true || panic!("boo"), | |
36 | }, | |
37 | _ => true || break, | |
38 | }; | |
39 | } | |
40 | } |