summary refs log tree commit diff
path: root/src/test/run-pass/issue-783.rs
blob: 76d26e0b0255407d69513c41c1c56ef757602bd2 (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() {
    iter::repeat(100u) {||
        spawn {|| a(); }
    }
}