@@ -1358,7 +1358,7 @@ pub pure fn each<T>(v: &r/[T], f: &fn(&r/T) -> bool) {
13581358/// a vector with mutable contents and you would like
13591359/// to mutate the contents as you iterate.
13601360#[ inline( always) ]
1361- pub fn each_mut < T > ( v : & mut [ T ] , f : & fn ( elem : & mut T ) -> bool ) {
1361+ pub fn each_mut < T > ( v : & ' r mut [ T ] , f : & fn ( elem : & ' r mut T ) -> bool ) {
13621362 let mut i = 0 ;
13631363 let n = v. len ( ) ;
13641364 while i < n {
@@ -2282,11 +2282,9 @@ pub mod bytes {
22822282// ___________________________________________________________________________
22832283// ITERATION TRAIT METHODS
22842284
2285- impl < A > iter:: BaseIter < A > for & self / [ A ] {
2285+ impl < A > iter:: BaseIter < A > for & ' self [ A ] {
22862286 #[ inline( always) ]
2287- pub pure fn each ( & self , blk : & fn ( v : & ' self A ) -> bool ) {
2288- each ( * self , blk)
2289- }
2287+ pure fn each ( & self , blk : & fn ( v : & ' self A ) -> bool ) { each ( * self , blk) }
22902288 #[ inline( always) ]
22912289 pure fn size_hint ( & self ) -> Option < uint > { Some ( self . len ( ) ) }
22922290}
@@ -2307,6 +2305,29 @@ impl<A> iter::BaseIter<A> for @[A] {
23072305 pure fn size_hint ( & self ) -> Option < uint > { Some ( self . len ( ) ) }
23082306}
23092307
2308+ impl < A > iter:: MutableIter < A > for & ' self mut [ A ] {
2309+ #[ inline( always) ]
2310+ fn each_mut ( & mut self , blk : & fn ( v : & ' self mut A ) -> bool ) {
2311+ each_mut ( * self , blk)
2312+ }
2313+ }
2314+
2315+ // FIXME(#4148): This should be redundant
2316+ impl < A > iter:: MutableIter < A > for ~[ A ] {
2317+ #[ inline( always) ]
2318+ fn each_mut ( & mut self , blk : & fn ( v : & ' self mut A ) -> bool ) {
2319+ each_mut ( * self , blk)
2320+ }
2321+ }
2322+
2323+ // FIXME(#4148): This should be redundant
2324+ impl < A > iter:: MutableIter < A > for @mut [ A ] {
2325+ #[ inline( always) ]
2326+ fn each_mut ( & mut self , blk : & fn ( v : & mut A ) -> bool ) {
2327+ each_mut ( * self , blk)
2328+ }
2329+ }
2330+
23102331impl < A > iter:: ExtendedIter < A > for & self /[ A ] {
23112332 pub pure fn eachi ( & self , blk : & fn ( uint , v : & A ) -> bool ) {
23122333 iter:: eachi ( self , blk)
0 commit comments