diff options
| author | bors <bors@rust-lang.org> | 2013-07-16 21:31:48 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-07-16 21:31:48 -0700 |
| commit | 4bd716ac8eb60dbaced9e3d2bafee89b713a7849 (patch) | |
| tree | 0e4b5bfa54cd0ada0c34029e3ab59eb7c50f5fc3 /src/libextra | |
| parent | 8a1002fbd93989bbf5c8989ed8002827920b375b (diff) | |
| parent | 712ac836c63c3ae98daf9fb98b7b96ed73347848 (diff) | |
| download | rust-4bd716ac8eb60dbaced9e3d2bafee89b713a7849.tar.gz rust-4bd716ac8eb60dbaced9e3d2bafee89b713a7849.zip | |
auto merge of #7831 : ozten/rust/issues-7764-swap_unwarp-take-unwrap, r=pcwalton
Fixes Issue #7764
Running `make check` I do get a failure:
test rt::io::extensions::test::push_bytes ... ok
rustest rt::comm::test::oneshot_single_thread_send_port_close ... t: task failed at 'Unhandled condition:
read_error: {kind: OtherIoError, desc: "Placeholder error. You shouldn\'t be seeing this", detail: None}',
/Users/shout/Projects/rust/src/libstd/condition.rs:50
/bin/sh: line 1: 35056 Abort trap: 6 x86_64-apple-darwin/stage2/test/stdtest-x86_64-apple-darwin --logfile
tmp/check-stage2-T-x86_64-apple-darwin-H-x86_64-apple-darwin-std.log
make: *** [tmp/check-stage2-T-x86_64-apple-darwin-H-x86_64-apple-darwin-std.ok] Error 134
Diffstat (limited to 'src/libextra')
| -rw-r--r-- | src/libextra/dlist.rs | 6 | ||||
| -rw-r--r-- | src/libextra/net/ip.rs | 2 | ||||
| -rw-r--r-- | src/libextra/sync.rs | 8 | ||||
| -rw-r--r-- | src/libextra/treemap.rs | 12 |
4 files changed, 14 insertions, 14 deletions
diff --git a/src/libextra/dlist.rs b/src/libextra/dlist.rs index 9eacddd9002..35600df4f9d 100644 --- a/src/libextra/dlist.rs +++ b/src/libextra/dlist.rs @@ -173,11 +173,11 @@ impl<T> Deque<T> for DList<T> { let tail_own = match tail.prev.resolve() { None => { self.list_tail = Rawlink::none(); - self.list_head.swap_unwrap() + self.list_head.take_unwrap() }, Some(tail_prev) => { self.list_tail = tail.prev; - tail_prev.next.swap_unwrap() + tail_prev.next.take_unwrap() } }; Some(tail_own.value) @@ -465,7 +465,7 @@ impl<'self, A> ListInsertion<A> for MutDListIterator<'self, A> { Some(prev) => prev, }; let mut ins_node = ~Node{value: elt, next: None, prev: Rawlink::none()}; - let node_own = prev_node.next.swap_unwrap(); + let node_own = prev_node.next.take_unwrap(); ins_node.next = link_with_prev(node_own, Rawlink::some(ins_node)); prev_node.next = link_with_prev(ins_node, Rawlink::some(prev_node)); self.list.length += 1; diff --git a/src/libextra/net/ip.rs b/src/libextra/net/ip.rs index 6876b3510b6..11e3106e4b5 100644 --- a/src/libextra/net/ip.rs +++ b/src/libextra/net/ip.rs @@ -116,7 +116,7 @@ pub fn get_addr(node: &str, iotask: &iotask) let (output_po, output_ch) = stream(); let mut output_ch = Some(SharedChan::new(output_ch)); do str::as_buf(node) |node_ptr, len| { - let output_ch = output_ch.swap_unwrap(); + let output_ch = output_ch.take_unwrap(); debug!("slice len %?", len); let handle = create_uv_getaddrinfo_t(); let handle_ptr: *uv_getaddrinfo_t = &handle; diff --git a/src/libextra/sync.rs b/src/libextra/sync.rs index b9d25451a8a..632f5d7827d 100644 --- a/src/libextra/sync.rs +++ b/src/libextra/sync.rs @@ -260,7 +260,7 @@ impl<'self> Condvar<'self> { signal_waitqueue(&state.waiters); } // Enqueue ourself to be woken up by a signaller. - let SignalEnd = SignalEnd.swap_unwrap(); + let SignalEnd = SignalEnd.take_unwrap(); state.blocked[condvar_id].tail.send(SignalEnd); } else { out_of_bounds = Some(state.blocked.len()); @@ -281,7 +281,7 @@ impl<'self> Condvar<'self> { // Unconditionally "block". (Might not actually block if a // signaller already sent -- I mean 'unconditionally' in contrast // with acquire().) - let _ = comm::recv_one(WaitEnd.swap_unwrap()); + let _ = comm::recv_one(WaitEnd.take_unwrap()); } // This is needed for a failing condition variable to reacquire the @@ -353,7 +353,7 @@ impl<'self> Condvar<'self> { } } do check_cvar_bounds(out_of_bounds, condvar_id, "cond.signal_on()") { - let queue = queue.swap_unwrap(); + let queue = queue.take_unwrap(); broadcast_waitqueue(&queue) } } @@ -1436,7 +1436,7 @@ mod tests { do x.write_downgrade |xwrite| { let mut xopt = Some(xwrite); do y.write_downgrade |_ywrite| { - y.downgrade(xopt.swap_unwrap()); + y.downgrade(xopt.take_unwrap()); error!("oops, y.downgrade(x) should have failed!"); } } diff --git a/src/libextra/treemap.rs b/src/libextra/treemap.rs index f1fe7acb00f..bd13c8619be 100644 --- a/src/libextra/treemap.rs +++ b/src/libextra/treemap.rs @@ -552,7 +552,7 @@ fn mutate_values<'r, K: TotalOrd, V>(node: &'r mut Option<~TreeNode<K, V>>, // Remove left horizontal link by rotating right fn skew<K: TotalOrd, V>(node: &mut ~TreeNode<K, V>) { if node.left.map_default(false, |x| x.level == node.level) { - let mut save = node.left.swap_unwrap(); + let mut save = node.left.take_unwrap(); swap(&mut node.left, &mut save.right); // save.right now None swap(node, &mut save); node.right = Some(save); @@ -564,7 +564,7 @@ fn skew<K: TotalOrd, V>(node: &mut ~TreeNode<K, V>) { fn split<K: TotalOrd, V>(node: &mut ~TreeNode<K, V>) { if node.right.map_default(false, |x| x.right.map_default(false, |y| y.level == node.level)) { - let mut save = node.right.swap_unwrap(); + let mut save = node.right.take_unwrap(); swap(&mut node.right, &mut save.left); // save.left now None save.level += 1; swap(node, &mut save); @@ -643,7 +643,7 @@ fn remove<K: TotalOrd, V>(node: &mut Option<~TreeNode<K, V>>, Equal => { if save.left.is_some() { if save.right.is_some() { - let mut left = save.left.swap_unwrap(); + let mut left = save.left.take_unwrap(); if left.right.is_some() { heir_swap(save, &mut left.right); } else { @@ -653,13 +653,13 @@ fn remove<K: TotalOrd, V>(node: &mut Option<~TreeNode<K, V>>, save.left = Some(left); (remove(&mut save.left, key), true) } else { - let new = save.left.swap_unwrap(); + let new = save.left.take_unwrap(); let ~TreeNode{value, _} = replace(save, new); - *save = save.left.swap_unwrap(); + *save = save.left.take_unwrap(); (Some(value), true) } } else if save.right.is_some() { - let new = save.right.swap_unwrap(); + let new = save.right.take_unwrap(); let ~TreeNode{value, _} = replace(save, new); (Some(value), true) } else { |
