Skip to content

Commit 8ff9de7

Browse files
committed
---
yaml --- r: 111551 b: refs/heads/master c: f4083a2 h: refs/heads/master i: 111549: 39406d4 111547: e3d7a53 111543: 078dd7c 111535: bd751c8 111519: 06a3d03 111487: 74371d1 v: v3
1 parent de54927 commit 8ff9de7

File tree

5 files changed

+23
-20
lines changed

5 files changed

+23
-20
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 159a10da4c15e5d34e00d4018b352573cec7918f
2+
refs/heads/master: f4083a22451692b9ae360f3d12bfb8cb52b096e4
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: b5dd3f05fe95168b5569d0f519636149479eb6ac
55
refs/heads/try: 38201d7c6bf0c32b0e5bdc8ecd63976ebc1b3a4c

trunk/src/libcollections/bitv.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -632,7 +632,7 @@ impl<'a> RandomAccessIterator<bool> for Bits<'a> {
632632
}
633633

634634
#[inline]
635-
fn idx(&self, index: uint) -> Option<bool> {
635+
fn idx(&mut self, index: uint) -> Option<bool> {
636636
if index >= self.indexable() {
637637
None
638638
} else {

trunk/src/libcollections/ringbuf.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ impl<'a, T> RandomAccessIterator<&'a T> for Items<'a, T> {
272272
fn indexable(&self) -> uint { self.rindex - self.index }
273273

274274
#[inline]
275-
fn idx(&self, j: uint) -> Option<&'a T> {
275+
fn idx(&mut self, j: uint) -> Option<&'a T> {
276276
if j >= self.indexable() {
277277
None
278278
} else {

trunk/src/libstd/iter.rs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,7 @@ pub trait RandomAccessIterator<A>: Iterator<A> {
703703
fn indexable(&self) -> uint;
704704

705705
/// Return an element at an index
706-
fn idx(&self, index: uint) -> Option<A>;
706+
fn idx(&mut self, index: uint) -> Option<A>;
707707
}
708708

709709
/// An iterator that knows its exact length
@@ -771,8 +771,9 @@ impl<A, T: DoubleEndedIterator<A> + RandomAccessIterator<A>> RandomAccessIterato
771771
#[inline]
772772
fn indexable(&self) -> uint { self.iter.indexable() }
773773
#[inline]
774-
fn idx(&self, index: uint) -> Option<A> {
775-
self.iter.idx(self.indexable() - index - 1)
774+
fn idx(&mut self, index: uint) -> Option<A> {
775+
let amt = self.indexable();
776+
self.iter.idx(amt - index - 1)
776777
}
777778
}
778779

@@ -1071,7 +1072,7 @@ impl<A, T: Clone + RandomAccessIterator<A>> RandomAccessIterator<A> for Cycle<T>
10711072
}
10721073

10731074
#[inline]
1074-
fn idx(&self, index: uint) -> Option<A> {
1075+
fn idx(&mut self, index: uint) -> Option<A> {
10751076
let liter = self.iter.indexable();
10761077
let lorig = self.orig.indexable();
10771078
if lorig == 0 {
@@ -1143,7 +1144,7 @@ for Chain<T, U> {
11431144
}
11441145

11451146
#[inline]
1146-
fn idx(&self, index: uint) -> Option<A> {
1147+
fn idx(&mut self, index: uint) -> Option<A> {
11471148
let len = self.a.indexable();
11481149
if index < len {
11491150
self.a.idx(index)
@@ -1221,7 +1222,7 @@ RandomAccessIterator<(A, B)> for Zip<T, U> {
12211222
}
12221223

12231224
#[inline]
1224-
fn idx(&self, index: uint) -> Option<(A, B)> {
1225+
fn idx(&mut self, index: uint) -> Option<(A, B)> {
12251226
match self.a.idx(index) {
12261227
None => None,
12271228
Some(x) => match self.b.idx(index) {
@@ -1276,8 +1277,9 @@ impl<'a, A, B, T: RandomAccessIterator<A>> RandomAccessIterator<B> for Map<'a, A
12761277
}
12771278

12781279
#[inline]
1279-
fn idx(&self, index: uint) -> Option<B> {
1280-
self.do_map(self.iter.idx(index))
1280+
fn idx(&mut self, index: uint) -> Option<B> {
1281+
let elt = self.iter.idx(index);
1282+
self.do_map(elt)
12811283
}
12821284
}
12831285

@@ -1415,7 +1417,7 @@ impl<A, T: RandomAccessIterator<A>> RandomAccessIterator<(uint, A)> for Enumerat
14151417
}
14161418

14171419
#[inline]
1418-
fn idx(&self, index: uint) -> Option<(uint, A)> {
1420+
fn idx(&mut self, index: uint) -> Option<(uint, A)> {
14191421
match self.iter.idx(index) {
14201422
Some(a) => Some((self.count + index, a)),
14211423
_ => None,
@@ -1600,7 +1602,7 @@ impl<A, T: RandomAccessIterator<A>> RandomAccessIterator<A> for Skip<T> {
16001602
}
16011603

16021604
#[inline]
1603-
fn idx(&self, index: uint) -> Option<A> {
1605+
fn idx(&mut self, index: uint) -> Option<A> {
16041606
if index >= self.indexable() {
16051607
None
16061608
} else {
@@ -1649,7 +1651,7 @@ impl<A, T: RandomAccessIterator<A>> RandomAccessIterator<A> for Take<T> {
16491651
}
16501652

16511653
#[inline]
1652-
fn idx(&self, index: uint) -> Option<A> {
1654+
fn idx(&mut self, index: uint) -> Option<A> {
16531655
if index >= self.n {
16541656
None
16551657
} else {
@@ -1799,7 +1801,7 @@ impl<A, T: RandomAccessIterator<A>> RandomAccessIterator<A> for Fuse<T> {
17991801
}
18001802

18011803
#[inline]
1802-
fn idx(&self, index: uint) -> Option<A> {
1804+
fn idx(&mut self, index: uint) -> Option<A> {
18031805
self.iter.idx(index)
18041806
}
18051807
}
@@ -1862,8 +1864,9 @@ for Inspect<'a, A, T> {
18621864
}
18631865

18641866
#[inline]
1865-
fn idx(&self, index: uint) -> Option<A> {
1866-
self.do_inspect(self.iter.idx(index))
1867+
fn idx(&mut self, index: uint) -> Option<A> {
1868+
let element = self.iter.idx(index);
1869+
self.do_inspect(element)
18671870
}
18681871
}
18691872

@@ -2164,7 +2167,7 @@ impl<A: Clone> RandomAccessIterator<A> for Repeat<A> {
21642167
#[inline]
21652168
fn indexable(&self) -> uint { uint::MAX }
21662169
#[inline]
2167-
fn idx(&self, _: uint) -> Option<A> { Some(self.element.clone()) }
2170+
fn idx(&mut self, _: uint) -> Option<A> { Some(self.element.clone()) }
21682171
}
21692172

21702173
/// Functions for lexicographical ordering of sequences.

trunk/src/libstd/slice.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ impl<'a, T> RandomAccessIterator<&'a [T]> for Chunks<'a, T> {
489489
}
490490

491491
#[inline]
492-
fn idx(&self, index: uint) -> Option<&'a [T]> {
492+
fn idx(&mut self, index: uint) -> Option<&'a [T]> {
493493
if index < self.indexable() {
494494
let lo = index * self.size;
495495
let mut hi = lo + self.size;
@@ -2095,7 +2095,7 @@ impl<'a, T> RandomAccessIterator<&'a T> for Items<'a, T> {
20952095
}
20962096

20972097
#[inline]
2098-
fn idx(&self, index: uint) -> Option<&'a T> {
2098+
fn idx(&mut self, index: uint) -> Option<&'a T> {
20992099
unsafe {
21002100
if index < self.indexable() {
21012101
transmute(self.ptr.offset(index as int))

0 commit comments

Comments
 (0)