]> git.lizzy.rs Git - rust.git/blob - src/test/run-pass/terminate-in-initializer.rs
f3fdeea259b9c42bb6d98f55e088cd299ee89ac9
[rust.git] / src / test / run-pass / terminate-in-initializer.rs
1 // xfail-win32 leaks
2 // Issue #787
3 // Don't try to clean up uninitizaed locals
4
5 use std;
6
7 fn test_break() { while true { let x: @int = break; } }
8
9 fn test_cont() { let i = 0; while i < 1 { i += 1; let x: @int = cont; } }
10
11 fn test_ret() { let x: @int = ret; }
12
13 fn test_fail() {
14     fn f(&&_i: ()) { task::unsupervise(); let x: @int = fail; }
15     task::spawn((), f);
16 }
17
18 fn test_fail_indirect() {
19     fn f() -> ! { fail; }
20     fn g(&&_i: ()) { task::unsupervise(); let x: @int = f(); }
21     task::spawn((), g);
22 }
23
24 fn main() {
25     test_break();
26     test_cont();
27     test_ret();
28     test_fail();
29     test_fail_indirect();
30 }