@@ -18,7 +18,7 @@ use pin_project_lite::pin_project;
1818/// use async_std::prelude::*;
1919/// use async_std::stream;
2020///
21- /// let s = stream::successors(Some(22), |val| {
21+ /// let s = stream::successors(Some(22), |& val| {
2222/// async move {
2323/// Some(val + 1)
2424/// }
@@ -31,9 +31,9 @@ use pin_project_lite::pin_project;
3131/// assert_eq!(s.next().await, Some(25));
3232///
3333///
34- ///let never = stream::successors(None, |val: usize | {
34+ ///let never = stream::successors(None, |_ | {
3535/// async move {
36- /// Some(val + 1)
36+ /// Some(1)
3737/// }
3838/// });
3939///
@@ -48,7 +48,7 @@ use pin_project_lite::pin_project;
4848#[ cfg_attr( feature = "docs" , doc( cfg( unstable) ) ) ]
4949pub fn successors < F , Fut , T > ( first : Option < T > , succ : F ) -> Successors < F , Fut , T >
5050where
51- F : FnMut ( T ) -> Fut ,
51+ F : FnMut ( & T ) -> Fut ,
5252 Fut : Future < Output = Option < T > > ,
5353 T : Copy ,
5454{
@@ -83,7 +83,7 @@ pin_project! {
8383impl < F , Fut , T > Stream for Successors < F , Fut , T >
8484where
8585 Fut : Future < Output = Option < T > > ,
86- F : FnMut ( T ) -> Fut ,
86+ F : FnMut ( & T ) -> Fut ,
8787 T : Copy ,
8888{
8989 type Item = T ;
9696 }
9797
9898 if this. future . is_none ( ) {
99- let fut = ( this. succ ) ( this. slot . unwrap ( ) ) ;
99+ let fut = ( this. succ ) ( & this. slot . unwrap ( ) ) ;
100100 this. future . set ( Some ( fut) ) ;
101101 }
102102
0 commit comments