diff options
| -rw-r--r-- | Makefile.in | 1 | ||||
| -rw-r--r-- | src/Makefile | 1 | ||||
| -rw-r--r-- | src/test/run-pass/task-comm-chan-nil.rs | 17 |
3 files changed, 19 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in index 865a3827..29d5eb11 100644 --- a/Makefile.in +++ b/Makefile.in @@ -501,6 +501,7 @@ TASK_XFAILS := $(addprefix $(S)src/test/run-pass/, \ task-comm-12.rs \ task-comm-2.rs \ task-comm-9.rs \ + task-comm-chan-nil.rs \ task-life-0.rs \ alt-type-simple.rs \ many.rs) 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 == ()); +} |