@@ -22,7 +22,7 @@ use syntax::{ast, attr, codemap::Span};
22
22
use attr:: filter_inline_attrs;
23
23
use codemap:: LineRangeUtils ;
24
24
use comment:: combine_strs_with_missing_comments;
25
- use imports:: UseTree ;
25
+ use imports:: { merge_use_trees , UseTree } ;
26
26
use items:: { is_mod_decl, rewrite_extern_crate, rewrite_mod} ;
27
27
use lists:: { itemize_list, write_list, ListFormatting , ListItem } ;
28
28
use rewrite:: { Rewrite , RewriteContext } ;
@@ -121,12 +121,13 @@ fn rewrite_reorderable_items(
121
121
. iter ( )
122
122
. filter_map ( |item| UseTree :: from_ast_with_normalization ( context, item) )
123
123
. collect ( ) ;
124
+ let merged_items = merge_use_trees ( normalized_items) ;
124
125
125
126
// 4 = "use ", 1 = ";"
126
127
let nested_shape = shape. offset_left ( 4 ) ?. sub_width ( 1 ) ?;
127
128
let list_items = itemize_list (
128
129
context. snippet_provider ,
129
- normalized_items . iter ( ) ,
130
+ merged_items . iter ( ) ,
130
131
"" ,
131
132
";" ,
132
133
|item| item. span . lo ( ) ,
@@ -137,7 +138,7 @@ fn rewrite_reorderable_items(
137
138
false ,
138
139
) ;
139
140
140
- let mut item_pair_vec: Vec < _ > = list_items. zip ( & normalized_items ) . collect ( ) ;
141
+ let mut item_pair_vec: Vec < _ > = list_items. zip ( & merged_items ) . collect ( ) ;
141
142
item_pair_vec. sort_by ( |a, b| a. 1 . cmp ( b. 1 ) ) ;
142
143
let item_vec: Vec < _ > = item_pair_vec. into_iter ( ) . map ( |pair| pair. 0 ) . collect ( ) ;
143
144
0 commit comments