@@ -102,15 +102,15 @@ pub enum Action {
102
102
}
103
103
104
104
#[ derive( PartialEq ) ]
105
- pub struct Marker < T > ( PhantomData < T > ) ;
105
+ struct Marker < T > ( PhantomData < T > ) ;
106
106
107
107
impl < T > Marker < T > {
108
- pub unsafe fn new ( ) -> Self {
108
+ unsafe fn new ( ) -> Self {
109
109
Marker ( PhantomData )
110
110
}
111
111
}
112
112
113
- pub enum YieldType < I , A > {
113
+ enum YieldType < I , A > {
114
114
Initial ( I ) ,
115
115
Accessor ( Marker < A > ) ,
116
116
}
@@ -174,16 +174,15 @@ impl BoxedResolver {
174
174
r. unwrap ( )
175
175
}
176
176
177
- pub fn complete ( mut self ) -> ResolverOutputs {
178
- // Tell the generator we want it to complete, consuming it and yielding a result
179
- let result = self . generator . as_mut ( ) . resume ( Action :: Complete ) ;
180
- if let GeneratorState :: Complete ( r) = result { r } else { panic ! ( ) }
181
- }
182
-
183
- fn initial_yield (
184
- value : Result < ast:: Crate > ,
185
- ) -> YieldType < Result < ast:: Crate > , fn ( & mut Resolver < ' _ > ) > {
186
- YieldType :: Initial ( value)
177
+ pub fn to_resolver_outputs ( resolver : Rc < RefCell < BoxedResolver > > ) -> ResolverOutputs {
178
+ match Rc :: try_unwrap ( resolver) {
179
+ Ok ( resolver) => {
180
+ // Tell the generator we want it to complete, consuming it and yielding a result
181
+ let result = resolver. into_inner ( ) . generator . as_mut ( ) . resume ( Action :: Complete ) ;
182
+ if let GeneratorState :: Complete ( r) = result { r } else { panic ! ( ) }
183
+ }
184
+ Err ( resolver) => resolver. borrow_mut ( ) . access ( |resolver| resolver. clone_outputs ( ) ) ,
185
+ }
187
186
}
188
187
}
189
188
@@ -221,11 +220,11 @@ pub fn configure_and_expand(
221
220
) ;
222
221
let mut resolver = match res {
223
222
Err ( v) => {
224
- yield BoxedResolver :: initial_yield ( Err ( v) ) ;
223
+ yield YieldType :: Initial ( Err ( v) ) ;
225
224
panic ! ( )
226
225
}
227
226
Ok ( ( krate, resolver) ) => {
228
- action = yield BoxedResolver :: initial_yield ( Ok ( krate) ) ;
227
+ action = yield YieldType :: Initial ( Ok ( krate) ) ;
229
228
resolver
230
229
}
231
230
} ;
@@ -253,15 +252,6 @@ pub fn configure_and_expand(
253
252
result. map ( |k| ( k, resolver) )
254
253
}
255
254
256
- impl BoxedResolver {
257
- pub fn to_resolver_outputs ( resolver : Rc < RefCell < BoxedResolver > > ) -> ResolverOutputs {
258
- match Rc :: try_unwrap ( resolver) {
259
- Ok ( resolver) => resolver. into_inner ( ) . complete ( ) ,
260
- Err ( resolver) => resolver. borrow_mut ( ) . access ( |resolver| resolver. clone_outputs ( ) ) ,
261
- }
262
- }
263
- }
264
-
265
255
pub fn register_plugins < ' a > (
266
256
sess : & ' a Session ,
267
257
metadata_loader : & ' a dyn MetadataLoader ,
0 commit comments