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
// error-pattern:explicit failure // Just testing unwinding use std; fn getbig_and_fail(&&i: int) { let r = and_then_get_big_again(5); if i != 0 { getbig_and_fail(i - 1); } else { fail; } } class and_then_get_big_again { let x:int; new(x:int) {self.x = x;} drop {} } fn main() { do task::spawn { getbig_and_fail(1); }; }