rust/tests/compile-fail/diverging_sub_expression.rs

22 lines
477 B
Rust
Raw Normal View History

#![feature(plugin, never_type)]
#![plugin(clippy)]
#![deny(diverging_sub_expression)]
#[allow(empty_loop)]
fn diverge() -> ! { loop {} }
2016-09-13 12:41:37 +02:00
struct A;
impl A {
fn foo(&self) -> ! { diverge() }
}
#[allow(unused_variables, unnecessary_operation)]
fn main() {
let b = true;
b || diverge(); //~ ERROR sub-expression diverges
2016-09-13 12:41:37 +02:00
b || A.foo(); //~ ERROR sub-expression diverges
let y = (5, diverge(), 6); //~ ERROR sub-expression diverges
println!("{}", y.1);
}