@@ -514,7 +514,6 @@ pub fn once_with<A, F: FnOnce() -> A>(gen: F) -> OnceWith<F> {
514
514
/// [module-level documentation]: index.html
515
515
///
516
516
/// ```
517
- /// #![feature(iter_unfold)]
518
517
/// let mut count = 0;
519
518
/// let counter = std::iter::from_fn(move || {
520
519
/// // Increment our count. This is why we started at zero.
@@ -530,7 +529,7 @@ pub fn once_with<A, F: FnOnce() -> A>(gen: F) -> OnceWith<F> {
530
529
/// assert_eq!(counter.collect::<Vec<_>>(), &[1, 2, 3, 4, 5]);
531
530
/// ```
532
531
#[ inline]
533
- #[ unstable ( feature = "iter_unfold " , issue = "55977 " ) ]
532
+ #[ stable ( feature = "iter_from_fn " , since = "1.34.0 " ) ]
534
533
pub fn from_fn < T , F > ( f : F ) -> FromFn < F >
535
534
where F : FnMut ( ) -> Option < T >
536
535
{
@@ -544,10 +543,10 @@ pub fn from_fn<T, F>(f: F) -> FromFn<F>
544
543
///
545
544
/// [`iter::from_fn`]: fn.from_fn.html
546
545
#[ derive( Clone ) ]
547
- #[ unstable ( feature = "iter_unfold " , issue = "55977 " ) ]
546
+ #[ stable ( feature = "iter_from_fn " , since = "1.34.0 " ) ]
548
547
pub struct FromFn < F > ( F ) ;
549
548
550
- #[ unstable ( feature = "iter_unfold " , issue = "55977 " ) ]
549
+ #[ stable ( feature = "iter_from_fn " , since = "1.34.0 " ) ]
551
550
impl < T , F > Iterator for FromFn < F >
552
551
where F : FnMut ( ) -> Option < T >
553
552
{
@@ -559,7 +558,7 @@ impl<T, F> Iterator for FromFn<F>
559
558
}
560
559
}
561
560
562
- #[ unstable ( feature = "iter_unfold " , issue = "55977 " ) ]
561
+ #[ stable ( feature = "iter_from_fn " , since = "1.34.0 " ) ]
563
562
impl < F > fmt:: Debug for FromFn < F > {
564
563
fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
565
564
f. debug_struct ( "FromFn" ) . finish ( )
0 commit comments