diff --git a/src/libcore/newcomm.rs b/src/libcore/newcomm.rs index 6934dba84cde..24c4c1cbd9cd 100644 --- a/src/libcore/newcomm.rs +++ b/src/libcore/newcomm.rs @@ -34,14 +34,8 @@ fn send(c: chan, -x: T) { (*c).with {|cond, data| let mut xx = none; xx <-> x; - alt xx { - some(y) { - let mut x <- y; - (*data).push(x); - cond.signal(); - } - none { fail } - }; + (*data).push(option::unwrap(xx)); + cond.signal(); } }