Skip to content

Commit b245289

Browse files
committed
Don't use move, because it is less safe than the unsafe move_it macro.
1 parent 942649a commit b245289

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/libcore/pipes.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1043,10 +1043,14 @@ struct port_set<T: send> : recv<T> {
10431043
let mut ports = ~[];
10441044
ports <-> self.ports;
10451045
while result == none && ports.len() > 0 {
1046-
let i = wait_many(ports.map(|p| p.header()));
1046+
let i = wait_many(ports);
10471047
match move ports[i].try_recv() {
1048-
some(copy m) => {
1049-
result = some(move m);
1048+
// FIXME (#2329): use this version once move from enum works.
1049+
//some(copy m) => {
1050+
// result = some(move m);
1051+
//}
1052+
some(m) => {
1053+
result = some(move_it!(m));
10501054
}
10511055
none => {
10521056
// Remove this port.
@@ -1065,7 +1069,9 @@ struct port_set<T: send> : recv<T> {
10651069

10661070
fn recv() -> T {
10671071
match move self.try_recv() {
1068-
some(copy x) => move x,
1072+
// FIXME (#2329): use this version once move from enum works.
1073+
//some(copy x) => move x,
1074+
some(x) => move_it!(x),
10691075
none => fail ~"port_set: endpoints closed"
10701076
}
10711077
}

0 commit comments

Comments
 (0)