]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/diverging_sub_expression.rs
New upstream version 1.23.0+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / diverging_sub_expression.rs
CommitLineData
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)]
7fn diverge() -> ! { loop {} }
8
9struct A;
10
11impl A {
12 fn foo(&self) -> ! { diverge() }
13}
14
15#[allow(unused_variables, unnecessary_operation, short_circuit_statement)]
16fn main() {
17 let b = true;
18 b || diverge();
19 b || A.foo();
20}
21
22#[allow(dead_code, unused_variables)]
23fn 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}