@@ -198,6 +198,7 @@ pub fn codegen(ctxt: Context, app: &App, analysis: &Analysis) -> TokenStream2 {
198
198
. collect ( ) ;
199
199
200
200
if !local_tasks_on_same_executor. is_empty ( ) {
201
+ let local_spawner = util:: internal_task_ident ( ident, "LocalSpawner" ) ;
201
202
fields. push ( quote ! {
202
203
/// Used to spawn tasks on the same executor
203
204
///
@@ -206,7 +207,7 @@ pub fn codegen(ctxt: Context, app: &App, analysis: &Analysis) -> TokenStream2 {
206
207
/// NOTE: This only works with tasks marked `is_local_task = true`
207
208
/// and which have the same priority and thus will run on the
208
209
/// same executor.
209
- pub local_spawner: LocalSpawner
210
+ pub local_spawner: #local_spawner
210
211
} ) ;
211
212
let tasks = local_tasks_on_same_executor
212
213
. iter ( )
@@ -226,21 +227,21 @@ pub fn codegen(ctxt: Context, app: &App, analysis: &Analysis) -> TokenStream2 {
226
227
#( #attrs) *
227
228
#( #cfgs) *
228
229
#[ allow( non_snake_case) ]
229
- fn #ident #generics( & self #( , #inputs) * ) {
230
+ pub ( super ) fn #ident #generics( & self #( , #inputs) * ) {
230
231
// SAFETY: This is safe to call since this can only be called
231
232
// from the same executor
232
- unsafe { #internal_spawn_ident( #( #input_vals, ) * ) }
233
+ unsafe { super :: #internal_spawn_ident( #( #input_vals, ) * ) }
233
234
}
234
235
}
235
236
} )
236
237
. collect :: < Vec < _ > > ( ) ;
237
- values. push ( quote ! ( local_spawner: LocalSpawner { _p: PhantomData } ) ) ;
238
- module_items . push ( quote ! {
239
- struct LocalSpawner {
240
- _p: PhantomData <* mut ( ) >,
238
+ values. push ( quote ! ( local_spawner: #t :: LocalSpawner { _p: core :: marker :: PhantomData } ) ) ;
239
+ items . push ( quote ! {
240
+ struct #local_spawner {
241
+ _p: core :: marker :: PhantomData <* mut ( ) >,
241
242
}
242
243
243
- impl LocalSpawner {
244
+ impl #local_spawner {
244
245
#( #tasks) *
245
246
}
246
247
} ) ;
0 commit comments