#![feature(never_type)] | |
#![allow(unused_variables)] | |
#![deny(unreachable_code)] | |
use std::ops; | |
struct Foo; | |
impl ops::Add<!> for Foo { | |
type Output = !; | |
fn add(self, rhs: !) -> ! { | |
unimplemented!() | |
} | |
} | |
fn main() { | |
let x = Foo + return; //~ ERROR unreachable | |
} |