@@ -418,32 +418,45 @@ impl<I> Iterator for Rev<I> where I: DoubleEndedIterator {
418
418
fn next ( & mut self ) -> Option < <I as Iterator >:: Item > { self . iter . next_back ( ) }
419
419
#[ inline]
420
420
fn size_hint ( & self ) -> ( usize , Option < usize > ) { self . iter . size_hint ( ) }
421
+ #[ inline]
422
+ fn count ( self ) -> usize { self . iter . count ( ) }
423
+ #[ inline]
424
+ fn last ( mut self ) -> Option < <I as Iterator >:: Item > { self . iter . next ( ) }
421
425
422
426
#[ inline]
423
427
fn nth ( & mut self , n : usize ) -> Option < <I as Iterator >:: Item > { self . iter . nth_back ( n) }
424
428
429
+ #[ inline]
425
430
fn try_fold < B , F , R > ( & mut self , init : B , f : F ) -> R where
426
- Self : Sized , F : FnMut ( B , Self :: Item ) -> R , R : Try < Ok =B >
431
+ Self : Sized , F : FnMut ( B , < I as Iterator > :: Item ) -> R , R : Try < Ok =B >
427
432
{
428
433
self . iter . try_rfold ( init, f)
429
434
}
430
435
436
+ #[ inline]
431
437
fn fold < Acc , F > ( self , init : Acc , f : F ) -> Acc
432
- where F : FnMut ( Acc , Self :: Item ) -> Acc ,
438
+ where F : FnMut ( Acc , < I as Iterator > :: Item ) -> Acc ,
433
439
{
434
440
self . iter . rfold ( init, f)
435
441
}
436
442
437
443
#[ inline]
438
- fn find < P > ( & mut self , predicate : P ) -> Option < Self :: Item >
439
- where P : FnMut ( & Self :: Item ) -> bool
444
+ fn find < P > ( & mut self , predicate : P ) -> Option < < I as Iterator > :: Item >
445
+ where P : FnMut ( & < I as Iterator > :: Item ) -> bool
440
446
{
441
447
self . iter . rfind ( predicate)
442
448
}
443
449
450
+ #[ inline]
451
+ fn position < P > ( & mut self , predicate : P ) -> Option < usize > where
452
+ P : FnMut ( <I as Iterator >:: Item ) -> bool
453
+ {
454
+ self . iter . rposition ( predicate)
455
+ }
456
+
444
457
#[ inline]
445
458
fn rposition < P > ( & mut self , predicate : P ) -> Option < usize > where
446
- P : FnMut ( Self :: Item ) -> bool
459
+ P : FnMut ( < I as Iterator > :: Item ) -> bool
447
460
{
448
461
self . iter . position ( predicate)
449
462
}
0 commit comments