@@ -18,10 +18,6 @@ use cmp::{Eq, Ord, TotalEq, TotalOrd, Ordering, Less, Equal, Greater};
18
18
use clone:: Clone ;
19
19
use iter:: BaseIter ;
20
20
use iter;
21
- #[ cfg( stage1) ]
22
- #[ cfg( stage2) ]
23
- #[ cfg( stage3) ]
24
- use iterator:: Iterator ;
25
21
use kinds:: Copy ;
26
22
use libc;
27
23
use option:: { None , Option , Some } ;
@@ -1923,7 +1919,6 @@ impl<'self,T> ImmutableVector<T> for &'self [T] {
1923
1919
#[ cfg( stage3) ]
1924
1920
pub trait ImmutableVector < ' self , T > {
1925
1921
fn slice ( & self , start : uint , end : uint ) -> & ' self [ T ] ;
1926
- fn iter ( self ) -> VecIterator < ' self , T > ;
1927
1922
fn head ( & self ) -> & ' self T ;
1928
1923
fn head_opt ( & self ) -> Option < & ' self T > ;
1929
1924
fn tail ( & self ) -> & ' self [ T ] ;
@@ -1954,15 +1949,6 @@ impl<'self,T> ImmutableVector<'self, T> for &'self [T] {
1954
1949
slice ( * self , start, end)
1955
1950
}
1956
1951
1957
- #[ inline]
1958
- fn iter ( self ) -> VecIterator < ' self , T > {
1959
- unsafe {
1960
- let p = vec:: raw:: to_ptr ( self ) ;
1961
- VecIterator { ptr : p, end : p. offset ( self . len ( ) ) ,
1962
- lifetime : cast:: transmute ( p) }
1963
- }
1964
- }
1965
-
1966
1952
/// Returns the first element of a vector, failing if the vector is empty.
1967
1953
#[ inline]
1968
1954
fn head ( & self ) -> & ' self T { head ( * self ) }
@@ -2809,33 +2795,7 @@ impl<A:Clone> Clone for ~[A] {
2809
2795
}
2810
2796
}
2811
2797
2812
- // could be implemented with &[T] with .slice(), but this avoids bounds checks
2813
- #[ cfg( stage1) ]
2814
- #[ cfg( stage2) ]
2815
- #[ cfg( stage3) ]
2816
- pub struct VecIterator < ' self , T > {
2817
- priv ptr: * T ,
2818
- priv end: * T ,
2819
- priv lifetime : & ' self T // FIXME: #5922
2820
- }
2821
-
2822
- #[ cfg( stage1) ]
2823
- #[ cfg( stage2) ]
2824
- #[ cfg( stage3) ]
2825
- impl < ' self , T > Iterator < & ' self T > for VecIterator < ' self , T > {
2826
- #[ inline]
2827
- fn next ( & mut self ) -> Option < & ' self T > {
2828
- unsafe {
2829
- if self . ptr == self . end {
2830
- None
2831
- } else {
2832
- let old = self . ptr ;
2833
- self . ptr = self . ptr . offset ( 1 ) ;
2834
- Some ( cast:: transmute ( old) )
2835
- }
2836
- }
2837
- }
2838
- }
2798
+ // ___________________________________________________________________________
2839
2799
2840
2800
#[ cfg( test) ]
2841
2801
mod tests {
@@ -4461,19 +4421,6 @@ mod tests {
4461
4421
[ 1 , 2 , 3 , 4 , 5 , 5 , 5 , 5 ] . cmp ( & & [ 1 , 2 , 3 , 4 , 5 , 6 ] ) == Less ;
4462
4422
[ 2 , 2 ] . cmp ( & & [ 1 , 2 , 3 , 4 ] ) == Greater ;
4463
4423
}
4464
-
4465
- #[ test]
4466
- fn test_iterator ( ) {
4467
- use iterator:: * ;
4468
- let xs = [ 1 , 2 , 5 , 10 , 11 ] ;
4469
- let ys = [ 1 , 2 , 5 , 10 , 11 , 19 ] ;
4470
- let mut it = xs. iter ( ) ;
4471
- let mut i = 0 ;
4472
- for it. advance |& x| {
4473
- assert_eq ! ( x, ys[ i] ) ;
4474
- i += 1 ;
4475
- }
4476
- }
4477
4424
}
4478
4425
4479
4426
// Local Variables:
0 commit comments