@@ -15,15 +15,16 @@ use crate::StreamExt;
1515delegate_all ! (
1616 /// Stream for the [`try_flatten_unordered`](super::TryStreamExt::try_flatten_unordered) method.
1717 TryFlattenUnordered <St , I , E >(
18- FlattenUnordered <TryFlattenSuccessful <St , I , E >>
18+ FlattenUnordered <ResultToEither <St , I , E >>
1919 ) : Debug + Sink + Stream + FusedStream + AccessInner [ St , ( . . ) ]
2020 + New [
2121 |stream: St , limit: impl Into <Option <usize >>|
22- TryFlattenSuccessful :: new( stream) . flatten_unordered( limit)
22+ ResultToEither :: new( stream) . flatten_unordered( limit)
2323 ]
2424 where
2525 St : TryStream ,
2626 St :: Ok : Stream <Item = Result <I , E >>,
27+ St :: Ok : Unpin ,
2728 E : From <St :: Error >
2829) ;
2930
@@ -32,21 +33,22 @@ pin_project! {
3233 /// This's a wrapper for `FlattenUnordered` to reuse its logic over `TryStream`.
3334 #[ derive( Debug ) ]
3435 #[ must_use = "streams do nothing unless polled" ]
35- pub struct TryFlattenSuccessful <St , I , E >
36+ pub struct ResultToEither <St , I , E >
3637 where
3738 St : TryStream ,
3839 St :: Ok : Stream <Item = Result <I , E >>,
40+ St :: Ok : Unpin ,
3941 E : From <St :: Error >
4042 {
4143 #[ pin]
4244 stream: St ,
4345 }
4446}
4547
46- impl < St , I , E > TryFlattenSuccessful < St , I , E >
48+ impl < St , I , E > ResultToEither < St , I , E >
4749where
4850 St : TryStream ,
49- St :: Ok : Stream < Item = Result < I , E > > ,
51+ St :: Ok : Stream < Item = Result < I , E > > + Unpin ,
5052 E : From < St :: Error > ,
5153{
5254 fn new ( stream : St ) -> Self {
@@ -56,10 +58,10 @@ where
5658 delegate_access_inner ! ( stream, St , ( ) ) ;
5759}
5860
59- impl < St , I , E > FusedStream for TryFlattenSuccessful < St , I , E >
61+ impl < St , I , E > FusedStream for ResultToEither < St , I , E >
6062where
6163 St : TryStream + FusedStream ,
62- St :: Ok : Stream < Item = Result < I , E > > ,
64+ St :: Ok : Stream < Item = Result < I , E > > + Unpin ,
6365 E : From < St :: Error > ,
6466{
6567 fn is_terminated ( & self ) -> bool {
@@ -89,10 +91,10 @@ type SingleResult<St> = Single<
8991 Result < <<St as TryStream >:: Ok as TryStream >:: Ok , <<St as TryStream >:: Ok as TryStream >:: Error > ,
9092> ;
9193
92- impl < St , I , E > Stream for TryFlattenSuccessful < St , I , E >
94+ impl < St , I , E > Stream for ResultToEither < St , I , E >
9395where
9496 St : TryStream ,
95- St :: Ok : Stream < Item = Result < I , E > > ,
97+ St :: Ok : Stream < Item = Result < I , E > > + Unpin ,
9698 E : From < St :: Error > ,
9799{
98100 // Item is either an inner stream or a stream containing a single error.
@@ -119,10 +121,10 @@ where
119121
120122// Forwarding impl of Sink from the underlying stream
121123#[ cfg( feature = "sink" ) ]
122- impl < St , I , E , Item > Sink < Item > for TryFlattenSuccessful < St , I , E >
124+ impl < St , I , E , Item > Sink < Item > for ResultToEither < St , I , E >
123125where
124126 St : TryStream + Sink < Item > ,
125- St :: Ok : Stream < Item = Result < I , E > > ,
127+ St :: Ok : Stream < Item = Result < I , E > > + Unpin ,
126128 E : From < <St as TryStream >:: Error > ,
127129{
128130 type Error = <St as Sink < Item > >:: Error ;
0 commit comments