Skip to content

Commit b0e3ffd

Browse files
committed
auto merge of #7263 : thestinger/rust/iterator, r=graydon
2 parents ba05af7 + 06bec77 commit b0e3ffd

Some content is hidden

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

107 files changed

+353
-671
lines changed

doc/tutorial-tasks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ let ports = do vec::from_fn(3) |init_val| {
283283
};
284284
285285
// Wait on each port, accumulating the results
286-
let result = ports.foldl(0, |accum, port| *accum + port.recv() );
286+
let result = ports.iter().fold(0, |accum, port| accum + port.recv() );
287287
# fn some_expensive_computation(_i: uint) -> int { 42 }
288288
~~~
289289

src/compiletest/runtest.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ fn check_expected_errors(expected_errors: ~[errors::ExpectedError],
358358
// is the ending point, and * represents ANSI color codes.
359359
for ProcRes.stderr.line_iter().advance |line| {
360360
let mut was_expected = false;
361-
for vec::eachi(expected_errors) |i, ee| {
361+
for expected_errors.iter().enumerate().advance |(i, ee)| {
362362
if !found_flags[i] {
363363
debug!("prefix=%s ee.kind=%s ee.msg=%s line=%s",
364364
prefixes[i], ee.kind, ee.msg, line);

src/libextra/bitv.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ impl BitvSet {
639639
if self.capacity() < other.capacity() {
640640
self.bitv.storage.grow(other.capacity() / uint::bits, &0);
641641
}
642-
for other.bitv.storage.eachi |i, &w| {
642+
for other.bitv.storage.iter().enumerate().advance |(i, &w)| {
643643
let old = self.bitv.storage[i];
644644
let new = f(old, w);
645645
self.bitv.storage[i] = new;
@@ -672,7 +672,7 @@ impl BaseIter<uint> for BitvSet {
672672
fn size_hint(&self) -> Option<uint> { Some(self.len()) }
673673

674674
fn each(&self, blk: &fn(v: &uint) -> bool) -> bool {
675-
for self.bitv.storage.eachi |i, &w| {
675+
for self.bitv.storage.iter().enumerate().advance |(i, &w)| {
676676
if !iterate_bits(i * uint::bits, w, |b| blk(&b)) {
677677
return false;
678678
}
@@ -826,7 +826,7 @@ impl BitvSet {
826826
f: &fn(uint, uint, uint) -> bool) -> bool {
827827
let min = uint::min(self.bitv.storage.len(),
828828
other.bitv.storage.len());
829-
self.bitv.storage.slice(0, min).eachi(|i, &w| {
829+
self.bitv.storage.slice(0, min).iter().enumerate().advance(|(i, &w)| {
830830
f(i * uint::bits, w, other.bitv.storage[i])
831831
})
832832
}
@@ -845,12 +845,12 @@ impl BitvSet {
845845
let min = uint::min(len1, len2);
846846

847847
/* only one of these loops will execute and that's the point */
848-
for self.bitv.storage.slice(min, len1).eachi |i, &w| {
848+
for self.bitv.storage.slice(min, len1).iter().enumerate().advance |(i, &w)| {
849849
if !f(true, (i + min) * uint::bits, w) {
850850
return false;
851851
}
852852
}
853-
for other.bitv.storage.slice(min, len2).eachi |i, &w| {
853+
for other.bitv.storage.slice(min, len2).iter().enumerate().advance |(i, &w)| {
854854
if !f(false, (i + min) * uint::bits, w) {
855855
return false;
856856
}

src/libextra/fileinput.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ mod test {
448448
|i| fmt!("tmp/lib-fileinput-test-fileinput-read-byte-%u.tmp", i)), true);
449449
450450
// 3 files containing 0\n, 1\n, and 2\n respectively
451-
for filenames.eachi |i, &filename| {
451+
for filenames.iter().enumerate().advance |(i, &filename)| {
452452
make_file(filename.get_ref(), [fmt!("%u", i)]);
453453
}
454454
@@ -478,7 +478,7 @@ mod test {
478478
|i| fmt!("tmp/lib-fileinput-test-fileinput-read-%u.tmp", i)), true);
479479
480480
// 3 files containing 1\n, 2\n, and 3\n respectively
481-
for filenames.eachi |i, &filename| {
481+
for filenames.iter().enumerate().advance |(i, &filename)| {
482482
make_file(filename.get_ref(), [fmt!("%u", i)]);
483483
}
484484
@@ -498,7 +498,7 @@ mod test {
498498
3,
499499
|i| fmt!("tmp/lib-fileinput-test-input-vec-%u.tmp", i)), true);
500500

501-
for filenames.eachi |i, &filename| {
501+
for filenames.iter().enumerate().advance |(i, &filename)| {
502502
let contents =
503503
vec::from_fn(3, |j| fmt!("%u %u", i, j));
504504
make_file(filename.get_ref(), contents);
@@ -518,7 +518,7 @@ mod test {
518518
3,
519519
|i| fmt!("tmp/lib-fileinput-test-input-vec-state-%u.tmp", i)),true);
520520

521-
for filenames.eachi |i, &filename| {
521+
for filenames.iter().enumerate().advance |(i, &filename)| {
522522
let contents =
523523
vec::from_fn(3, |j| fmt!("%u %u", i, j + 1));
524524
make_file(filename.get_ref(), contents);
@@ -582,7 +582,7 @@ mod test {
582582
3,
583583
|i| fmt!("tmp/lib-fileinput-test-next-file-%u.tmp", i)),true);
584584
585-
for filenames.eachi |i, &filename| {
585+
for filenames.iter().enumerate().advance |(i, &filename)| {
586586
let contents =
587587
vec::from_fn(3, |j| fmt!("%u %u", i, j + 1));
588588
make_file(&filename.get(), contents);

src/libextra/flatpipes.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -307,11 +307,11 @@ impl<T,U:Unflattener<T>,P:BytePort> GenericPort<T> for FlatPort<T, U, P> {
307307

308308
impl<T,F:Flattener<T>,C:ByteChan> GenericChan<T> for FlatChan<T, F, C> {
309309
fn send(&self, val: T) {
310-
self.byte_chan.send(CONTINUE.to_vec());
310+
self.byte_chan.send(CONTINUE.to_owned());
311311
let bytes = self.flattener.flatten(val);
312312
let len = bytes.len() as u64;
313313
do io::u64_to_be_bytes(len, size_of::<u64>()) |len_bytes| {
314-
self.byte_chan.send(len_bytes.to_vec());
314+
self.byte_chan.send(len_bytes.to_owned());
315315
}
316316
self.byte_chan.send(bytes);
317317
}
@@ -937,7 +937,7 @@ mod test {
937937
fn test_try_recv_none3<P:BytePort>(loader: PortLoader<P>) {
938938
static CONTINUE: [u8, ..4] = [0xAA, 0xBB, 0xCC, 0xDD];
939939
// The control word is followed by garbage
940-
let bytes = CONTINUE.to_vec() + [0];
940+
let bytes = CONTINUE.to_owned() + [0];
941941
let port = loader(bytes);
942942
let res: Option<int> = port.try_recv();
943943
assert!(res.is_none());
@@ -959,9 +959,9 @@ mod test {
959959
// then undeserializable garbage
960960
let len_bytes = do io::u64_to_be_bytes(
961961
1, sys::size_of::<u64>()) |len_bytes| {
962-
len_bytes.to_vec()
962+
len_bytes.to_owned()
963963
};
964-
let bytes = CONTINUE.to_vec() + len_bytes + [0, 0, 0, 0];
964+
let bytes = CONTINUE.to_owned() + len_bytes + [0, 0, 0, 0];
965965

966966
let port = loader(bytes);
967967

src/libextra/getopts.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ fn name_str(nm: &Name) -> ~str {
177177
}
178178

179179
fn find_opt(opts: &[Opt], nm: Name) -> Option<uint> {
180-
vec::position(opts, |opt| opt.name == nm)
180+
opts.iter().position_(|opt| opt.name == nm)
181181
}
182182

183183
/**

src/libextra/json.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -950,7 +950,7 @@ impl serialize::Decoder for Decoder {
950950
}
951951
ref json => fail!("invalid variant: %?", *json),
952952
};
953-
let idx = match vec::position(names, |n| str::eq_slice(*n, name)) {
953+
let idx = match names.iter().position_(|n| str::eq_slice(*n, name)) {
954954
Some(idx) => idx,
955955
None => fail!("Unknown variant name: %?", name),
956956
};

src/libextra/net_ip.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ pub mod v4 {
205205
}).collect();
206206
if parts.len() != 4 {
207207
Err(fmt!("'%s' doesn't have 4 parts", ip))
208-
} else if parts.contains(&256) {
208+
} else if parts.iter().any_(|x| *x == 256u) {
209209
Err(fmt!("invalid octal in addr '%s'", ip))
210210
} else {
211211
Ok(Ipv4Rep {

src/libextra/net_tcp.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -978,7 +978,7 @@ impl io::Writer for TcpSocketBuf {
978978
let w_result = write_common_impl(socket_data_ptr,
979979
vec::slice(data,
980980
0,
981-
data.len()).to_vec());
981+
data.len()).to_owned());
982982
if w_result.is_err() {
983983
let err_data = w_result.get_err();
984984
debug!(

src/libextra/net_url.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,8 +519,9 @@ fn get_authority(rawurl: &str) ->
519519
let end = end; // make end immutable so it can be captured
520520

521521
let host_is_end_plus_one: &fn() -> bool = || {
522+
let xs = ['?', '#', '/'];
522523
end+1 == len
523-
&& !['?', '#', '/'].contains(&(rawurl[end] as char))
524+
&& !xs.iter().any_(|x| *x == (rawurl[end] as char))
524525
};
525526

526527
// finish up

0 commit comments

Comments
 (0)