summary refs log tree commit diff
path: root/src/test/run-pass/issue-783.rs
blob: b826eaa620c7e574f3e53059e7abc49fb0335ebe (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
use std;
import comm::*;
import task::*;

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() );
    }
}