@@ -102,15 +102,15 @@ pub enum Action {
102102}
103103
104104#[ derive( PartialEq ) ]
105- pub struct Marker < T > ( PhantomData < T > ) ;
105+ struct Marker < T > ( PhantomData < T > ) ;
106106
107107impl < T > Marker < T > {
108- pub unsafe fn new ( ) -> Self {
108+ unsafe fn new ( ) -> Self {
109109 Marker ( PhantomData )
110110 }
111111}
112112
113- pub enum YieldType < I , A > {
113+ enum YieldType < I , A > {
114114 Initial ( I ) ,
115115 Accessor ( Marker < A > ) ,
116116}
@@ -174,16 +174,15 @@ impl BoxedResolver {
174174 r. unwrap ( )
175175 }
176176
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+ }
187186 }
188187}
189188
@@ -221,11 +220,11 @@ pub fn configure_and_expand(
221220 ) ;
222221 let mut resolver = match res {
223222 Err ( v) => {
224- yield BoxedResolver :: initial_yield ( Err ( v) ) ;
223+ yield YieldType :: Initial ( Err ( v) ) ;
225224 panic ! ( )
226225 }
227226 Ok ( ( krate, resolver) ) => {
228- action = yield BoxedResolver :: initial_yield ( Ok ( krate) ) ;
227+ action = yield YieldType :: Initial ( Ok ( krate) ) ;
229228 resolver
230229 }
231230 } ;
@@ -253,15 +252,6 @@ pub fn configure_and_expand(
253252 result. map ( |k| ( k, resolver) )
254253}
255254
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-
265255pub fn register_plugins < ' a > (
266256 sess : & ' a Session ,
267257 metadata_loader : & ' a dyn MetadataLoader ,
0 commit comments