diff --git a/Makefile.in b/Makefile.in index 865a382795065c45a3c645a499ae4a75168cafff..29d5eb111f93c50911bb88fee89ce4d55ccef660 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 48254b028dfd0626c5c3f2242889f1753284b943..229b4e49a4eff66c90573ad8c625a1c68cb0242a 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 0000000000000000000000000000000000000000..c8f5a90f59ecd51a63e4c068cc7d466639e995ee --- /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 == ()); +}