Skip to content

Commit 38ed467

Browse files
committed
auto merge of #11956 : edwardw/rust/issue-7556, r=cmr
Closes #7556. Also move ``std::util::Void`` to ``std::any::Void``. It makes more sense to me.
2 parents cf9164f + e9ff91e commit 38ed467

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+245
-300
lines changed

src/libarena/lib.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ use std::rc::Rc;
4040
use std::rt::global_heap;
4141
use std::unstable::intrinsics::{TyDesc, get_tydesc};
4242
use std::unstable::intrinsics;
43-
use std::util;
4443
use std::vec;
4544

4645
// The way arena uses arrays is really deeply awful. The arrays are
@@ -404,7 +403,7 @@ impl TypedArenaChunk {
404403
}
405404

406405
// Destroy the next chunk.
407-
let next_opt = util::replace(&mut self.next, None);
406+
let next_opt = mem::replace(&mut self.next, None);
408407
match next_opt {
409408
None => {}
410409
Some(mut next) => {

src/libcollections/dlist.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
// the reverse direction.
2424

2525
use std::cast;
26+
use std::mem::{replace, swap};
2627
use std::ptr;
27-
use std::util;
2828
use std::iter::Rev;
2929
use std::iter;
3030

@@ -102,7 +102,7 @@ impl<T> Rawlink<T> {
102102

103103
/// Return the `Rawlink` and replace with `Rawlink::none()`
104104
fn take(&mut self) -> Rawlink<T> {
105-
util::replace(self, Rawlink::none())
105+
replace(self, Rawlink::none())
106106
}
107107
}
108108

@@ -161,7 +161,7 @@ impl<T> DList<T> {
161161
Some(ref mut head) => {
162162
new_head.prev = Rawlink::none();
163163
head.prev = Rawlink::some(new_head);
164-
util::swap(head, &mut new_head);
164+
swap(head, &mut new_head);
165165
head.next = Some(new_head);
166166
}
167167
}
@@ -319,7 +319,7 @@ impl<T> DList<T> {
319319
/// O(1)
320320
#[inline]
321321
pub fn prepend(&mut self, mut other: DList<T>) {
322-
util::swap(self, &mut other);
322+
swap(self, &mut other);
323323
self.append(other);
324324
}
325325

src/libcollections/priority_queue.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@
1313
#[allow(missing_doc)];
1414

1515
use std::clone::Clone;
16-
use std::mem::{move_val_init, init};
17-
use std::util::{replace, swap};
16+
use std::mem::{move_val_init, init, replace, swap};
1817
use std::vec;
1918

2019
/// A priority queue implemented with a binary heap

src/libcollections/smallintmap.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#[allow(missing_doc)];
1717

1818
use std::iter::{Enumerate, FilterMap, Rev};
19-
use std::util::replace;
19+
use std::mem::replace;
2020
use std::vec;
2121

2222
#[allow(missing_doc)]

src/libcollections/treemap.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
//! trees. The only requirement for the types is that the key implements
1313
//! `TotalOrd`.
1414
15-
use std::util::{swap, replace};
1615
use std::iter::{Peekable};
1716
use std::cmp::Ordering;
17+
use std::mem::{replace, swap};
1818
use std::ptr;
1919

2020
use serialize::{Encodable, Decodable, Encoder, Decoder};

src/libextra/num/bigint.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -2592,7 +2592,8 @@ mod bigint_tests {
25922592
#[cfg(test)]
25932593
mod bench {
25942594
use super::*;
2595-
use std::{iter, util};
2595+
use std::iter;
2596+
use std::mem::replace;
25962597
use std::num::{FromPrimitive, Zero, One};
25972598
use extra::test::BenchHarness;
25982599

@@ -2609,7 +2610,7 @@ mod bench {
26092610
let mut f1: BigUint = One::one();
26102611
for _ in range(0, n) {
26112612
let f2 = f0 + f1;
2612-
f0 = util::replace(&mut f1, f2);
2613+
f0 = replace(&mut f1, f2);
26132614
}
26142615
f0
26152616
}

src/libextra/stats.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
use std::cmp;
1414
use std::hashmap;
1515
use std::io;
16+
use std::mem;
1617
use std::num;
17-
use std::util;
1818

1919
// NB: this can probably be rewritten in terms of num::Num
2020
// to be less f64-specific.
@@ -178,7 +178,7 @@ impl<'a> Stats for &'a [f64] {
178178
for i in range(0, partials.len()) {
179179
let mut y = partials[i];
180180
if num::abs(x) < num::abs(y) {
181-
util::swap(&mut x, &mut y);
181+
mem::swap(&mut x, &mut y);
182182
}
183183
// Rounded `x+y` is stored in `hi` with round-off stored in
184184
// `lo`. Together `hi+lo` are exactly equal to `x+y`.

src/libgreen/basic.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
//! loop if no other one is provided (and M:N scheduling is desired).
1717
1818
use std::cast;
19+
use std::mem::replace;
1920
use std::rt::rtio::{EventLoop, IoFactory, RemoteCallback, PausableIdleCallback,
2021
Callback};
2122
use std::unstable::sync::Exclusive;
22-
use std::util;
2323

2424
/// This is the only exported function from this module.
2525
pub fn event_loop() -> ~EventLoop {
@@ -50,7 +50,7 @@ impl BasicLoop {
5050
/// Process everything in the work queue (continually)
5151
fn work(&mut self) {
5252
while self.work.len() > 0 {
53-
for work in util::replace(&mut self.work, ~[]).move_iter() {
53+
for work in replace(&mut self.work, ~[]).move_iter() {
5454
work();
5555
}
5656
}
@@ -60,7 +60,7 @@ impl BasicLoop {
6060
let messages = unsafe {
6161
self.messages.with(|messages| {
6262
if messages.len() > 0 {
63-
Some(util::replace(messages, ~[]))
63+
Some(replace(messages, ~[]))
6464
} else {
6565
None
6666
}

src/libgreen/lib.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@
174174
// NB this does *not* include globs, please keep it that way.
175175
#[feature(macro_rules)];
176176

177+
use std::mem::replace;
177178
use std::os;
178179
use std::rt::crate_map;
179180
use std::rt::rtio;
@@ -182,7 +183,6 @@ use std::rt;
182183
use std::sync::atomics::{SeqCst, AtomicUint, INIT_ATOMIC_UINT};
183184
use std::sync::deque;
184185
use std::task::TaskOpts;
185-
use std::util;
186186
use std::vec;
187187
use std::sync::arc::UnsafeArc;
188188

@@ -457,10 +457,10 @@ impl SchedPool {
457457
}
458458

459459
// Now that everyone's gone, tell everything to shut down.
460-
for mut handle in util::replace(&mut self.handles, ~[]).move_iter() {
460+
for mut handle in replace(&mut self.handles, ~[]).move_iter() {
461461
handle.send(Shutdown);
462462
}
463-
for thread in util::replace(&mut self.threads, ~[]).move_iter() {
463+
for thread in replace(&mut self.threads, ~[]).move_iter() {
464464
thread.join();
465465
}
466466
}

src/librustc/middle/privacy.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
//! which are available for use externally when compiled as a library.
1414
1515
use std::hashmap::{HashSet, HashMap};
16-
use std::util;
16+
use std::mem::replace;
1717

1818
use metadata::csearch;
1919
use middle::resolve;
@@ -679,7 +679,7 @@ impl<'a> Visitor<()> for PrivacyVisitor<'a> {
679679
return;
680680
}
681681

682-
let orig_curitem = util::replace(&mut self.curitem, item.id);
682+
let orig_curitem = replace(&mut self.curitem, item.id);
683683
visit::walk_item(self, item, ());
684684
self.curitem = orig_curitem;
685685
}
@@ -861,7 +861,7 @@ impl Visitor<()> for SanePrivacyVisitor {
861861
self.check_sane_privacy(item);
862862
}
863863

864-
let orig_in_fn = util::replace(&mut self.in_fn, match item.node {
864+
let orig_in_fn = replace(&mut self.in_fn, match item.node {
865865
ast::ItemMod(..) => false, // modules turn privacy back on
866866
_ => self.in_fn, // otherwise we inherit
867867
});
@@ -872,7 +872,7 @@ impl Visitor<()> for SanePrivacyVisitor {
872872
fn visit_fn(&mut self, fk: &visit::FnKind, fd: &ast::FnDecl,
873873
b: &ast::Block, s: Span, n: ast::NodeId, _: ()) {
874874
// This catches both functions and methods
875-
let orig_in_fn = util::replace(&mut self.in_fn, true);
875+
let orig_in_fn = replace(&mut self.in_fn, true);
876876
visit::walk_fn(self, fk, fd, b, s, n, ());
877877
self.in_fn = orig_in_fn;
878878
}

src/librustc/middle/resolve.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ use syntax::visit::Visitor;
3131
use std::cell::{Cell, RefCell};
3232
use std::uint;
3333
use std::hashmap::{HashMap, HashSet};
34-
use std::util;
34+
use std::mem::replace;
3535

3636
// Definition mapping
3737
pub type DefMap = @RefCell<HashMap<NodeId,Def>>;
@@ -4067,7 +4067,7 @@ impl Resolver {
40674067
new_trait_refs.push(def_id_of_def(*def));
40684068
}
40694069
}
4070-
original_trait_refs = Some(util::replace(
4070+
original_trait_refs = Some(replace(
40714071
&mut this.current_trait_refs,
40724072
Some(new_trait_refs)));
40734073
}

src/librustc/middle/typeck/check/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ use util::ppaux::{UserString, Repr};
115115

116116
use std::cell::{Cell, RefCell};
117117
use std::hashmap::HashMap;
118+
use std::mem::replace;
118119
use std::result;
119-
use std::util::replace;
120120
use std::vec;
121121
use syntax::abi::AbiSet;
122122
use syntax::ast::{Provided, Required};

src/librustdoc/fold.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
// option. This file may not be copied, modified, or distributed
99
// except according to those terms.
1010

11-
use std;
1211
use clean::*;
1312
use std::iter::Extendable;
13+
use std::mem::{replace, swap};
1414

1515
pub trait DocFolder {
1616
fn fold_item(&mut self, item: Item) -> Option<Item> {
@@ -19,7 +19,6 @@ pub trait DocFolder {
1919

2020
/// don't override!
2121
fn fold_item_recur(&mut self, item: Item) -> Option<Item> {
22-
use std::util::swap;
2322
let Item { attrs, name, source, visibility, id, inner } = item;
2423
let inner = inner;
2524
let c = |x| self.fold_item(x);
@@ -92,7 +91,7 @@ pub trait DocFolder {
9291
}
9392

9493
fn fold_crate(&mut self, mut c: Crate) -> Crate {
95-
c.module = match std::util::replace(&mut c.module, None) {
94+
c.module = match replace(&mut c.module, None) {
9695
Some(module) => self.fold_item(module), None => None
9796
};
9897
return c;

src/librustuv/timer.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
// except according to those terms.
1010

1111
use std::libc::c_int;
12+
use std::mem::replace;
1213
use std::rt::local::Local;
1314
use std::rt::rtio::RtioTimer;
1415
use std::rt::task::{BlockedTask, Task};
15-
use std::util;
1616

1717
use homing::{HomeHandle, HomingIO};
1818
use super::{UvHandle, ForbidUnwind, ForbidSwitch};
@@ -76,7 +76,7 @@ impl RtioTimer for TimerWatcher {
7676
let missile = self.fire_homing_missile();
7777
self.id += 1;
7878
self.stop();
79-
let _missile = match util::replace(&mut self.action, None) {
79+
let _missile = match replace(&mut self.action, None) {
8080
None => missile, // no need to do a homing dance
8181
Some(action) => {
8282
drop(missile); // un-home ourself
@@ -108,7 +108,7 @@ impl RtioTimer for TimerWatcher {
108108
self.id += 1;
109109
self.stop();
110110
self.start(msecs, 0);
111-
util::replace(&mut self.action, Some(SendOnce(chan)))
111+
replace(&mut self.action, Some(SendOnce(chan)))
112112
};
113113

114114
return port;
@@ -124,7 +124,7 @@ impl RtioTimer for TimerWatcher {
124124
self.id += 1;
125125
self.stop();
126126
self.start(msecs, msecs);
127-
util::replace(&mut self.action, Some(SendMany(chan, self.id)))
127+
replace(&mut self.action, Some(SendMany(chan, self.id)))
128128
};
129129

130130
return port;

src/libstd/any.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ use result::{Result, Ok, Err};
2626
use to_str::ToStr;
2727
use unstable::intrinsics::TypeId;
2828
use unstable::intrinsics;
29-
use util::Void;
29+
30+
/// A type with no inhabitants
31+
pub enum Void { }
3032

3133
///////////////////////////////////////////////////////////////////////////////
3234
// Any trait

src/libstd/comm/mod.rs

-1
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,6 @@ macro_rules! test (
257257
use super::*;
258258
use super::super::*;
259259
use task;
260-
use util;
261260

262261
fn f() $b
263262

src/libstd/fmt/mod.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,7 @@ will look like `"\\{"`.
477477
478478
*/
479479

480+
use any;
480481
use cast;
481482
use char::Char;
482483
use container::Container;
@@ -489,7 +490,6 @@ use repr;
489490
use result::{Ok, Err};
490491
use str::StrSlice;
491492
use str;
492-
use util;
493493
use vec::ImmutableVector;
494494
use vec;
495495

@@ -524,8 +524,8 @@ pub struct Formatter<'a> {
524524
/// compile time it is ensured that the function and the value have the correct
525525
/// types, and then this struct is used to canonicalize arguments to one type.
526526
pub struct Argument<'a> {
527-
priv formatter: extern "Rust" fn(&util::Void, &mut Formatter) -> Result,
528-
priv value: &'a util::Void,
527+
priv formatter: extern "Rust" fn(&any::Void, &mut Formatter) -> Result,
528+
priv value: &'a any::Void,
529529
}
530530

531531
impl<'a> Arguments<'a> {
@@ -794,11 +794,11 @@ impl<'a> Formatter<'a> {
794794
rt::CountImplied => { None }
795795
rt::CountIsParam(i) => {
796796
let v = self.args[i].value;
797-
unsafe { Some(*(v as *util::Void as *uint)) }
797+
unsafe { Some(*(v as *any::Void as *uint)) }
798798
}
799799
rt::CountIsNextParam => {
800800
let v = self.curarg.next().unwrap().value;
801-
unsafe { Some(*(v as *util::Void as *uint)) }
801+
unsafe { Some(*(v as *any::Void as *uint)) }
802802
}
803803
}
804804
}

src/libstd/hashmap.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ use hash::Hash;
6060
use iter;
6161
use iter::{Iterator, FromIterator, Extendable};
6262
use iter::{FilterMap, Chain, Repeat, Zip};
63+
use mem::replace;
6364
use num;
6465
use option::{None, Option, Some};
6566
use rand::Rng;
6667
use rand;
67-
use util::replace;
6868
use vec::{ImmutableVector, MutableVector, OwnedVector, Items, MutItems};
6969
use vec_ng;
7070
use vec_ng::Vec;

src/libstd/io/fs.rs

-1
Original file line numberDiff line numberDiff line change
@@ -659,7 +659,6 @@ mod test {
659659
use io::fs::{File, rmdir, mkdir, readdir, rmdir_recursive,
660660
mkdir_recursive, copy, unlink, stat, symlink, link,
661661
readlink, chmod, lstat, change_file_times};
662-
use util;
663662
use path::Path;
664663
use io;
665664
use ops::Drop;

0 commit comments

Comments
 (0)