diff --git a/src/test/run-pass/issue-507.rs b/src/test/run-pass/issue-507.rs new file mode 100644 index 000000000000..e9d8258a3443 --- /dev/null +++ b/src/test/run-pass/issue-507.rs @@ -0,0 +1,34 @@ + +/* + This is a test case for Issue 507. + + https://github.com/graydon/rust/issues/507 +*/ + +use std; + +import std::task::join; + +fn grandchild(chan[int] c) { + c <| 42; +} + +fn child(chan[int] c) { + auto _grandchild = spawn grandchild(c); + join(_grandchild); +} + +fn main() { + let port[int] p = port(); + + auto _child = spawn child(chan(p)); + + let int x; + p |> x; + + log x; + + assert(x == 42); + + join(_child); +}