aboutsummaryrefslogtreecommitdiff
path: root/src/test/run-pass/basic.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/run-pass/basic.rs')
-rw-r--r--src/test/run-pass/basic.rs50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/test/run-pass/basic.rs b/src/test/run-pass/basic.rs
new file mode 100644
index 00000000..95e4bff8
--- /dev/null
+++ b/src/test/run-pass/basic.rs
@@ -0,0 +1,50 @@
+// -*- rust -*-
+
+io fn a(chan[int] c) {
+ if (true) {
+ log "task a";
+ log "task a";
+ log "task a";
+ log "task a";
+ log "task a";
+ }
+ c <| 10;
+}
+
+fn k(int x) -> int {
+ ret 15;
+}
+
+fn g(int x, str y) -> int {
+ log x;
+ log y;
+ let int z = k(1);
+ ret z;
+}
+
+io fn main() {
+ let int n = 2 + 3 * 7;
+ let str s = "hello there";
+ let port[int] p = port();
+ spawn a(chan(p));
+ spawn b(chan(p));
+ let int x = 10;
+ x = g(n,s);
+ log x;
+ n <- p;
+ n <- p;
+ // FIXME: use signal-channel for this.
+ log "children finished, root finishing";
+}
+
+io fn b(chan[int] c) {
+ if (true) {
+ log "task b";
+ log "task b";
+ log "task b";
+ log "task b";
+ log "task b";
+ log "task b";
+ }
+ c <| 10;
+}