1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#![feature(never_type)] #[allow(nonstandard_style)] pub struct never; pub fn loops() -> ! { loop {} } pub fn returns() -> never { never } pub fn impossible(x: !) { match x {} } pub fn uninteresting(x: never) { match x { never => {} } } pub fn box_impossible(x: Box<!>) { match *x {} } pub fn box_uninteresting(x: Box<never>) { match *x { never => {} } }