@@ -427,7 +427,6 @@ pub trait DoubleEndedIterator: Iterator {
427
427
/// Basic usage:
428
428
///
429
429
/// ```
430
- /// #![feature(iterator_try_fold)]
431
430
/// let a = ["1", "2", "3"];
432
431
/// let sum = a.iter()
433
432
/// .map(|&s| s.parse::<i32>())
@@ -438,7 +437,6 @@ pub trait DoubleEndedIterator: Iterator {
438
437
/// Short-circuiting:
439
438
///
440
439
/// ```
441
- /// #![feature(iterator_try_fold)]
442
440
/// let a = ["1", "rust", "3"];
443
441
/// let mut it = a.iter();
444
442
/// let sum = it
@@ -452,7 +450,7 @@ pub trait DoubleEndedIterator: Iterator {
452
450
/// assert_eq!(it.next_back(), Some(&"1"));
453
451
/// ```
454
452
#[ inline]
455
- #[ unstable ( feature = "iterator_try_fold" , issue = "45594 " ) ]
453
+ #[ stable ( feature = "iterator_try_fold" , since = "1.27.0 " ) ]
456
454
fn try_rfold < B , F , R > ( & mut self , init : B , mut f : F ) -> R where
457
455
Self : Sized , F : FnMut ( B , Self :: Item ) -> R , R : Try < Ok =B >
458
456
{
@@ -491,7 +489,6 @@ pub trait DoubleEndedIterator: Iterator {
491
489
/// Basic usage:
492
490
///
493
491
/// ```
494
- /// #![feature(iter_rfold)]
495
492
/// let a = [1, 2, 3];
496
493
///
497
494
/// // the sum of all of the elements of a
@@ -505,7 +502,6 @@ pub trait DoubleEndedIterator: Iterator {
505
502
/// and continuing with each element from the back until the front:
506
503
///
507
504
/// ```
508
- /// #![feature(iter_rfold)]
509
505
/// let numbers = [1, 2, 3, 4, 5];
510
506
///
511
507
/// let zero = "0".to_string();
@@ -517,14 +513,14 @@ pub trait DoubleEndedIterator: Iterator {
517
513
/// assert_eq!(result, "(1 + (2 + (3 + (4 + (5 + 0)))))");
518
514
/// ```
519
515
#[ inline]
520
- #[ unstable ( feature = "iter_rfold" , issue = "44705 " ) ]
516
+ #[ stable ( feature = "iter_rfold" , since = "1.27.0 " ) ]
521
517
fn rfold < B , F > ( mut self , accum : B , mut f : F ) -> B where
522
518
Self : Sized , F : FnMut ( B , Self :: Item ) -> B ,
523
519
{
524
520
self . try_rfold ( accum, move |acc, x| AlwaysOk ( f ( acc, x) ) ) . 0
525
521
}
526
522
527
- /// Searches for an element of an iterator from the right that satisfies a predicate.
523
+ /// Searches for an element of an iterator from the back that satisfies a predicate.
528
524
///
529
525
/// `rfind()` takes a closure that returns `true` or `false`. It applies
530
526
/// this closure to each element of the iterator, starting at the end, and if any
@@ -547,8 +543,6 @@ pub trait DoubleEndedIterator: Iterator {
547
543
/// Basic usage:
548
544
///
549
545
/// ```
550
- /// #![feature(iter_rfind)]
551
- ///
552
546
/// let a = [1, 2, 3];
553
547
///
554
548
/// assert_eq!(a.iter().rfind(|&&x| x == 2), Some(&2));
@@ -559,8 +553,6 @@ pub trait DoubleEndedIterator: Iterator {
559
553
/// Stopping at the first `true`:
560
554
///
561
555
/// ```
562
- /// #![feature(iter_rfind)]
563
- ///
564
556
/// let a = [1, 2, 3];
565
557
///
566
558
/// let mut iter = a.iter();
@@ -571,7 +563,7 @@ pub trait DoubleEndedIterator: Iterator {
571
563
/// assert_eq!(iter.next_back(), Some(&1));
572
564
/// ```
573
565
#[ inline]
574
- #[ unstable ( feature = "iter_rfind" , issue = "39480 " ) ]
566
+ #[ stable ( feature = "iter_rfind" , since = "1.27.0 " ) ]
575
567
fn rfind < P > ( & mut self , mut predicate : P ) -> Option < Self :: Item > where
576
568
Self : Sized ,
577
569
P : FnMut ( & Self :: Item ) -> bool
0 commit comments