diff --git a/src/test/run-pass/issue-783.rs b/src/test/run-pass/issue-783.rs new file mode 100644 index 00000000000..f43e7ebb00a --- /dev/null +++ b/src/test/run-pass/issue-783.rs @@ -0,0 +1,25 @@ +use std; +import std::comm::*; +import std::task::*; + +fn a(&&_args: ()) { + fn doit() { + fn b(c: chan>) { + let p = port(); + send(c, chan(p)); + } + let p = port(); + spawn(chan(p), b); + recv(p); + } + let i = 0; + while i < 100 { + doit(); + i += 1; + } +} + +fn main() { + let t = spawn_joinable((), a); + join(t); +}