summary refs log tree commit diff
path: root/src/test/run-pass/issue-783.rs
blob: 50fadefa46437fa5a00aed7d40d5e568105f2e58 (plain)
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
extern mod std;
use comm::*;
use task::spawn;

fn a() {
    fn doit() {
        fn b(c: Chan<Chan<int>>) {
            let p = Port();
            send(c, Chan(&p));
        }
        let p = Port();
        let ch = Chan(&p);
        spawn(|| b(ch) );
        recv(p);
    }
    let mut i = 0;
    while i < 100 {
        doit();
        i += 1;
    }
}

fn main() {
    for iter::repeat(100u) {
        spawn(|| a() );
    }
}