@@ -18,7 +18,7 @@ use pin_project_lite::pin_project;
18
18
/// use async_std::prelude::*;
19
19
/// use async_std::stream;
20
20
///
21
- /// let s = stream::successors(Some(22), |val| {
21
+ /// let s = stream::successors(Some(22), |& val| {
22
22
/// async move {
23
23
/// Some(val + 1)
24
24
/// }
@@ -31,9 +31,9 @@ use pin_project_lite::pin_project;
31
31
/// assert_eq!(s.next().await, Some(25));
32
32
///
33
33
///
34
- ///let never = stream::successors(None, |val: usize | {
34
+ ///let never = stream::successors(None, |_ | {
35
35
/// async move {
36
- /// Some(val + 1)
36
+ /// Some(1)
37
37
/// }
38
38
/// });
39
39
///
@@ -48,7 +48,7 @@ use pin_project_lite::pin_project;
48
48
#[ cfg_attr( feature = "docs" , doc( cfg( unstable) ) ) ]
49
49
pub fn successors < F , Fut , T > ( first : Option < T > , succ : F ) -> Successors < F , Fut , T >
50
50
where
51
- F : FnMut ( T ) -> Fut ,
51
+ F : FnMut ( & T ) -> Fut ,
52
52
Fut : Future < Output = Option < T > > ,
53
53
T : Copy ,
54
54
{
@@ -83,7 +83,7 @@ pin_project! {
83
83
impl < F , Fut , T > Stream for Successors < F , Fut , T >
84
84
where
85
85
Fut : Future < Output = Option < T > > ,
86
- F : FnMut ( T ) -> Fut ,
86
+ F : FnMut ( & T ) -> Fut ,
87
87
T : Copy ,
88
88
{
89
89
type Item = T ;
96
96
}
97
97
98
98
if this. future . is_none ( ) {
99
- let fut = ( this. succ ) ( this. slot . unwrap ( ) ) ;
99
+ let fut = ( this. succ ) ( & this. slot . unwrap ( ) ) ;
100
100
this. future . set ( Some ( fut) ) ;
101
101
}
102
102
0 commit comments