]> git.proxmox.com Git - rustc.git/blob - src/tools/clippy/tests/ui/diverging_sub_expression.rs
7ae531cc6f2725c637defc54afec7437ff57ab25
[rustc.git] / src / tools / clippy / tests / ui / diverging_sub_expression.rs
1 #![feature(plugin, never_type)]
2 #![plugin(clippy)]
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 }