diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile | 1 | ||||
| -rw-r--r-- | src/test/run-pass/task-comm-chan-nil.rs | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/Makefile b/src/Makefile index 48254b02..229b4e49 100644 --- a/src/Makefile +++ b/src/Makefile @@ -434,6 +434,7 @@ TASK_XFAILS := test/run-pass/task-comm-8.rs \ test/run-pass/task-comm-12.rs \ test/run-pass/task-comm-2.rs \ test/run-pass/task-comm-9.rs \ + test/run-pass/task-comm-chan-nil.rs \ test/run-pass/task-life-0.rs \ test/run-pass/alt-type-simple.rs \ test/run-pass/many.rs diff --git a/src/test/run-pass/task-comm-chan-nil.rs b/src/test/run-pass/task-comm-chan-nil.rs new file mode 100644 index 00000000..c8f5a90f --- /dev/null +++ b/src/test/run-pass/task-comm-chan-nil.rs @@ -0,0 +1,17 @@ +// -*- rust -*- + +// rustboot can't transmit nils across channels because they don't have +// any size, but rustc currently can because they do have size. Whether +// or not this is desirable I don't know, but here's a regression test. + +impure fn main() { + let port[()] po = port(); + let chan[()] ch = chan(po); + + ch <| (); + + let () n; + n <- po; + + check (n == ()); +} |