fun foo(): ⊥ { return foo(); }
fn will_panic() -> ! { panic!("uh oh"); }
The compiler is also smart enough to say that an infinite loop has type !, so you can have
fn main() -> ! { let setup = ...; loop { blink_led(); sleep(100); } }
The compiler is also smart enough to say that an infinite loop has type !, so you can have
and it'll complain if you put a break statement in the loop.