text: #![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
  }
  