@@ -308,47 +308,26 @@ fn decl_all_pallets<'a>(
308308 names. push ( & pallet_declaration. name ) ;
309309 }
310310
311- // Make nested tuple structure like:
312- // `((FirstPallet, (SecondPallet, ( ... , LastPallet) ... ))))`
313- // But ignore the system pallet.
314- let all_pallets_without_system = names
315- . iter ( )
316- . filter ( |n| * * n != SYSTEM_PALLET_NAME )
317- . rev ( )
318- . fold ( TokenStream2 :: default ( ) , |combined, name| quote ! ( ( #name, #combined) ) ) ;
319-
320- // Make nested tuple structure like:
321- // `((FirstPallet, (SecondPallet, ( ... , LastPallet) ... ))))`
322- let all_pallets_with_system = names
323- . iter ( )
324- . rev ( )
325- . fold ( TokenStream2 :: default ( ) , |combined, name| quote ! ( ( #name, #combined) ) ) ;
326-
327- // Make nested tuple structure like:
328- // `((LastPallet, (SecondLastPallet, ( ... , FirstPallet) ... ))))`
329- // But ignore the system pallet.
330- let all_pallets_without_system_reversed = names
331- . iter ( )
332- . filter ( |n| * * n != SYSTEM_PALLET_NAME )
333- . fold ( TokenStream2 :: default ( ) , |combined, name| quote ! ( ( #name, #combined) ) ) ;
334-
335- // Make nested tuple structure like:
336- // `((LastPallet, (SecondLastPallet, ( ... , FirstPallet) ... ))))`
337- let all_pallets_with_system_reversed = names
338- . iter ( )
339- . fold ( TokenStream2 :: default ( ) , |combined, name| quote ! ( ( #name, #combined) ) ) ;
340-
341311 let system_pallet = match names. iter ( ) . find ( |n| * * n == SYSTEM_PALLET_NAME ) {
342312 Some ( name) => name,
343313 None =>
344314 return syn:: Error :: new (
345315 proc_macro2:: Span :: call_site ( ) ,
346316 "`System` pallet declaration is missing. \
347- Please add this line: `System: frame_system::{Pallet, Call, Storage, Config, Event<T>},`",
317+ Please add this line: `System: frame_system::{Pallet, Call, Storage, Config, Event<T>},`",
348318 )
349319 . into_compile_error ( ) ,
350320 } ;
351321
322+ let names_without_system =
323+ names. iter ( ) . filter ( |n| * * n != SYSTEM_PALLET_NAME ) . collect :: < Vec < _ > > ( ) ;
324+ let names_reversed = names. clone ( ) . into_iter ( ) . rev ( ) . collect :: < Vec < _ > > ( ) ;
325+ let names_without_system_reverse =
326+ names_without_system. clone ( ) . into_iter ( ) . rev ( ) . collect :: < Vec < _ > > ( ) ;
327+ let names_reversed_with_system_first = std:: iter:: once ( system_pallet)
328+ . chain ( names_without_system_reverse. clone ( ) . into_iter ( ) )
329+ . collect :: < Vec < _ > > ( ) ;
330+
352331 quote ! (
353332 #types
354333
@@ -364,25 +343,28 @@ fn decl_all_pallets<'a>(
364343 pub type AllPallets = AllPalletsWithSystem ;
365344
366345 /// All pallets included in the runtime as a nested tuple of types.
367- pub type AllPalletsWithSystem = ( #all_pallets_with_system ) ;
346+ pub type AllPalletsWithSystem = ( #( #names ) , * ) ;
368347
369348 /// All pallets included in the runtime as a nested tuple of types.
370349 /// Excludes the System pallet.
371- pub type AllPalletsWithoutSystem = ( #all_pallets_without_system ) ;
350+ pub type AllPalletsWithoutSystem = ( #( #names_without_system ) , * ) ;
372351
373352 /// All pallets included in the runtime as a nested tuple of types in reversed order.
374353 /// Excludes the System pallet.
375- pub type AllPalletsWithoutSystemReversed = ( #all_pallets_without_system_reversed ) ;
354+ #[ deprecated( note = "Using reverse pallet orders is deprecated. use only \
355+ `AllPalletWithSystem or AllPalletsWithoutSystem`") ]
356+ pub type AllPalletsWithoutSystemReversed =( #( #names_without_system_reverse) , * ) ;
376357
377358 /// All pallets included in the runtime as a nested tuple of types in reversed order.
378- pub type AllPalletsWithSystemReversed = ( #all_pallets_with_system_reversed ) ;
359+ #[ deprecated( note = "Using reverse pallet orders is deprecated. use only \
360+ `AllPalletWithSystem or AllPalletsWithoutSystem`") ]
361+ pub type AllPalletsWithSystemReversed = ( #( #names_reversed) , * ) ;
379362
380363 /// All pallets included in the runtime as a nested tuple of types in reversed order.
381364 /// With the system pallet first.
382- pub type AllPalletsReversedWithSystemFirst = (
383- #system_pallet,
384- AllPalletsWithoutSystemReversed
385- ) ;
365+ #[ deprecated( note = "Using reverse pallet orders is deprecated. use only \
366+ `AllPalletWithSystem or AllPalletsWithoutSystem`") ]
367+ pub type AllPalletsReversedWithSystemFirst = ( #( #names_reversed_with_system_first) , * ) ;
386368 )
387369}
388370
0 commit comments