@@ -72,26 +72,37 @@ pub fn main() {
7272 . unwrap ( ) ;
7373
7474 let mut phf_map = phf_codegen:: OrderedMap :: < & str > :: new ( ) ;
75+ let mut entries = Vec :: new ( ) ;
76+
7577 for krate in & crates {
7678 let map_value = format ! ( "({krate}::uumain, {krate}::uu_app)" ) ;
7779 match krate. as_ref ( ) {
7880 // 'test' is named uu_test to avoid collision with rust core crate 'test'.
7981 // It can also be invoked by name '[' for the '[ expr ] syntax'.
8082 "uu_test" => {
81- phf_map . entry ( "test" , map_value. clone ( ) ) ;
82- phf_map . entry ( "[" , map_value. clone ( ) ) ;
83+ entries . push ( ( "test" , map_value. clone ( ) ) ) ;
84+ entries . push ( ( "[" , map_value. clone ( ) ) ) ;
8385 }
8486 k if k. starts_with ( OVERRIDE_PREFIX ) => {
85- phf_map . entry ( & k[ OVERRIDE_PREFIX . len ( ) ..] , map_value. clone ( ) ) ;
87+ entries . push ( ( & k[ OVERRIDE_PREFIX . len ( ) ..] , map_value. clone ( ) ) ) ;
8688 }
8789 "false" | "true" => {
88- phf_map. entry ( krate, format ! ( "(r#{krate}::uumain, r#{krate}::uu_app)" ) ) ;
90+ entries. push ( (
91+ krate. as_str ( ) ,
92+ format ! ( "(r#{krate}::uumain, r#{krate}::uu_app)" ) ,
93+ ) ) ;
8994 }
9095 _ => {
91- phf_map . entry ( krate, map_value. clone ( ) ) ;
96+ entries . push ( ( krate. as_str ( ) , map_value. clone ( ) ) ) ;
9297 }
9398 }
9499 }
100+ entries. sort_by_key ( |( name, _) | * name) ;
101+
102+ for ( name, value) in entries {
103+ phf_map. entry ( name, value) ;
104+ }
105+
95106 write ! ( mf, "{}" , phf_map. build( ) ) . unwrap ( ) ;
96107 mf. write_all ( b"\n }\n " ) . unwrap ( ) ;
97108
0 commit comments