22
33use core:: {
44 marker:: PhantomData ,
5- ops:: { Generator , GeneratorState } ,
5+ ops:: { Coroutine , CoroutineState } ,
66 pin:: Pin ,
77} ;
88
@@ -15,25 +15,25 @@ pub struct OptionMapEff<G, Effs, U> {
1515 _u : PhantomData < fn ( ) -> U > ,
1616}
1717
18- impl < G , Effs , U > Generator < Effs :: Injections > for OptionMapEff < G , Effs , U >
18+ impl < G , Effs , U > Coroutine < Effs :: Injections > for OptionMapEff < G , Effs , U >
1919where
2020 Effs : EffectList ,
21- G : Generator < Effs :: Injections , Yield = Effs , Return = U > ,
21+ G : Coroutine < Effs :: Injections , Yield = Effs , Return = U > ,
2222{
2323 type Yield = Effs ;
2424 type Return = Option < U > ;
2525
2626 fn resume (
2727 self : Pin < & mut Self > ,
2828 injs : Effs :: Injections ,
29- ) -> GeneratorState < Self :: Yield , Self :: Return > {
29+ ) -> CoroutineState < Self :: Yield , Self :: Return > {
3030 unsafe {
3131 match & mut self . get_unchecked_mut ( ) . g {
3232 Some ( g) => match Pin :: new_unchecked ( g) . resume ( injs) {
33- GeneratorState :: Yielded ( effs) => GeneratorState :: Yielded ( effs) ,
34- GeneratorState :: Complete ( ret) => GeneratorState :: Complete ( Some ( ret) ) ,
33+ CoroutineState :: Yielded ( effs) => CoroutineState :: Yielded ( effs) ,
34+ CoroutineState :: Complete ( ret) => CoroutineState :: Complete ( Some ( ret) ) ,
3535 } ,
36- None => GeneratorState :: Complete ( None ) ,
36+ None => CoroutineState :: Complete ( None ) ,
3737 }
3838 }
3939 }
@@ -50,14 +50,14 @@ pub trait OptionExt<T>: Sized {
5050 fn map_eff < Effs , G > ( self , g : impl FnOnce ( T ) -> G ) -> OptionMapEff < G , Effs , G :: Return >
5151 where
5252 Effs : EffectList ,
53- G : Generator < Effs :: Injections , Yield = Effs > ;
53+ G : Coroutine < Effs :: Injections , Yield = Effs > ;
5454}
5555
5656impl < T > OptionExt < T > for Option < T > {
5757 fn map_eff < Effs , G > ( self , g : impl FnOnce ( T ) -> G ) -> OptionMapEff < G , Effs , G :: Return >
5858 where
5959 Effs : EffectList ,
60- G : Generator < Effs :: Injections , Yield = Effs > ,
60+ G : Coroutine < Effs :: Injections , Yield = Effs > ,
6161 {
6262 OptionMapEff {
6363 g : self . map ( g) ,
@@ -74,29 +74,31 @@ pub struct ResultMapEff<G, E, Effs, U> {
7474 _u : PhantomData < fn ( ) -> U > ,
7575}
7676
77- impl < G , E , Effs , U > Generator < Effs :: Injections > for ResultMapEff < G , E , Effs , U >
77+ impl < G , E , Effs , U > Coroutine < Effs :: Injections > for ResultMapEff < G , E , Effs , U >
7878where
7979 E : Unpin ,
8080 Effs : EffectList ,
81- G : Generator < Effs :: Injections , Yield = Effs , Return = U > ,
81+ G : Coroutine < Effs :: Injections , Yield = Effs , Return = U > ,
8282{
8383 type Yield = Effs ;
8484 type Return = Result < U , E > ;
8585
8686 fn resume (
8787 self : Pin < & mut Self > ,
8888 injs : Effs :: Injections ,
89- ) -> GeneratorState < Self :: Yield , Self :: Return > {
89+ ) -> CoroutineState < Self :: Yield , Self :: Return > {
9090 unsafe {
9191 let g = & mut self . get_unchecked_mut ( ) . g ;
9292 match g {
9393 Some ( Ok ( g) ) => match Pin :: new_unchecked ( g) . resume ( injs) {
94- GeneratorState :: Yielded ( effs) => GeneratorState :: Yielded ( effs) ,
95- GeneratorState :: Complete ( ret) => GeneratorState :: Complete ( Ok ( ret) ) ,
94+ CoroutineState :: Yielded ( effs) => CoroutineState :: Yielded ( effs) ,
95+ CoroutineState :: Complete ( ret) => CoroutineState :: Complete ( Ok ( ret) ) ,
9696 } ,
9797 Some ( Err ( _) ) => {
98- let Some ( Err ( e) ) = core:: mem:: take ( g) else { unreachable ! ( ) } ;
99- GeneratorState :: Complete ( Err ( e) )
98+ let Some ( Err ( e) ) = core:: mem:: take ( g) else {
99+ unreachable ! ( )
100+ } ;
101+ CoroutineState :: Complete ( Err ( e) )
100102 } ,
101103 None => panic ! ( "resumed after completed" ) ,
102104 }
@@ -111,29 +113,31 @@ pub struct ResultMapErrEff<G, T, Effs, U> {
111113 _u : PhantomData < fn ( ) -> U > ,
112114}
113115
114- impl < G , T , Effs , U > Generator < Effs :: Injections > for ResultMapErrEff < G , T , Effs , U >
116+ impl < G , T , Effs , U > Coroutine < Effs :: Injections > for ResultMapErrEff < G , T , Effs , U >
115117where
116118 T : Unpin ,
117119 Effs : EffectList ,
118- G : Generator < Effs :: Injections , Yield = Effs , Return = U > ,
120+ G : Coroutine < Effs :: Injections , Yield = Effs , Return = U > ,
119121{
120122 type Yield = Effs ;
121123 type Return = Result < T , U > ;
122124
123125 fn resume (
124126 self : Pin < & mut Self > ,
125127 injs : Effs :: Injections ,
126- ) -> GeneratorState < Self :: Yield , Self :: Return > {
128+ ) -> CoroutineState < Self :: Yield , Self :: Return > {
127129 unsafe {
128130 let g = & mut self . get_unchecked_mut ( ) . g ;
129131 match g {
130132 Some ( Err ( g) ) => match Pin :: new_unchecked ( g) . resume ( injs) {
131- GeneratorState :: Yielded ( effs) => GeneratorState :: Yielded ( effs) ,
132- GeneratorState :: Complete ( ret) => GeneratorState :: Complete ( Err ( ret) ) ,
133+ CoroutineState :: Yielded ( effs) => CoroutineState :: Yielded ( effs) ,
134+ CoroutineState :: Complete ( ret) => CoroutineState :: Complete ( Err ( ret) ) ,
133135 } ,
134136 Some ( Ok ( _) ) => {
135- let Some ( Ok ( e) ) = core:: mem:: take ( g) else { unreachable ! ( ) } ;
136- GeneratorState :: Complete ( Ok ( e) )
137+ let Some ( Ok ( e) ) = core:: mem:: take ( g) else {
138+ unreachable ! ( )
139+ } ;
140+ CoroutineState :: Complete ( Ok ( e) )
137141 } ,
138142 None => panic ! ( "resumed after completed" ) ,
139143 }
@@ -149,22 +153,22 @@ pub trait ResultExt<T, E>: Sized {
149153 fn map_eff < Effs , G > ( self , g : impl FnOnce ( T ) -> G ) -> ResultMapEff < G , E , Effs , G :: Return >
150154 where
151155 Effs : EffectList ,
152- G : Generator < Effs :: Injections , Yield = Effs > ;
156+ G : Coroutine < Effs :: Injections , Yield = Effs > ;
153157
154158 /// Transforms the value inside a [`Result::Err`] with some effects.
155159 ///
156160 /// For more details, see [`OptionExt::map_eff`].
157161 fn map_err_eff < Effs , G > ( self , g : impl FnOnce ( E ) -> G ) -> ResultMapErrEff < G , T , Effs , G :: Return >
158162 where
159163 Effs : EffectList ,
160- G : Generator < Effs :: Injections , Yield = Effs > ;
164+ G : Coroutine < Effs :: Injections , Yield = Effs > ;
161165}
162166
163167impl < T , E > ResultExt < T , E > for Result < T , E > {
164168 fn map_eff < Effs , G > ( self , g : impl FnOnce ( T ) -> G ) -> ResultMapEff < G , E , Effs , G :: Return >
165169 where
166170 Effs : EffectList ,
167- G : Generator < Effs :: Injections , Yield = Effs > ,
171+ G : Coroutine < Effs :: Injections , Yield = Effs > ,
168172 {
169173 ResultMapEff {
170174 g : Some ( self . map ( g) ) ,
@@ -176,7 +180,7 @@ impl<T, E> ResultExt<T, E> for Result<T, E> {
176180 fn map_err_eff < Effs , G > ( self , g : impl FnOnce ( E ) -> G ) -> ResultMapErrEff < G , T , Effs , G :: Return >
177181 where
178182 Effs : EffectList ,
179- G : Generator < Effs :: Injections , Yield = Effs > ,
183+ G : Coroutine < Effs :: Injections , Yield = Effs > ,
180184 {
181185 ResultMapErrEff {
182186 g : Some ( self . map_err ( g) ) ,
0 commit comments