103_return_control_expressions.toy (492B)
1 fn from_if(x: i64): i64 { 2 return if x { 3 40 4 } else { 5 2 6 }; 7 } 8 9 fn from_switch(x: i64): i64 { 10 return switch x { 11 0 { 12 10 13 } 14 default { 15 42 16 } 17 }; 18 } 19 20 fn from_while(): i64 { 21 var i: i64 = 0; 22 return outer: while<i64> i < 4 { 23 if i == 2 { 24 break outer 42; 25 } 26 i = i + 1; 27 continue outer; 28 } else { 29 0 30 }; 31 } 32 33 fn __user_main(): i64 { 34 return from_if(1) + from_switch(1) + from_while(); 35 } 36 37 fn main(): i32 { return __user_main() as i32; }