File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed
src/librustdoc/html/render Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -250,6 +250,8 @@ impl<'tcx> Context<'tcx> {
250250 fn build_sidebar_items ( & self , m : & clean:: Module ) -> BTreeMap < String , Vec < NameDoc > > {
251251 // BTreeMap instead of HashMap to get a sorted output
252252 let mut map: BTreeMap < _ , Vec < _ > > = BTreeMap :: new ( ) ;
253+ let mut inserted: FxHashMap < ItemType , FxHashSet < Symbol > > = FxHashMap :: default ( ) ;
254+
253255 for item in & m. items {
254256 if item. is_stripped ( ) {
255257 continue ;
@@ -258,13 +260,16 @@ impl<'tcx> Context<'tcx> {
258260 let short = item. type_ ( ) ;
259261 let myname = match item. name {
260262 None => continue ,
261- Some ( ref s) => s. to_string ( ) ,
263+ Some ( s) => s,
262264 } ;
263- let short = short. to_string ( ) ;
264- map. entry ( short) . or_default ( ) . push ( (
265- myname,
266- Some ( item. doc_value ( ) . map_or_else ( String :: new, |s| plain_text_summary ( & s) ) ) ,
267- ) ) ;
265+ if inserted. entry ( short) . or_default ( ) . insert ( myname) {
266+ let short = short. to_string ( ) ;
267+ let myname = myname. to_string ( ) ;
268+ map. entry ( short) . or_default ( ) . push ( (
269+ myname,
270+ Some ( item. doc_value ( ) . map_or_else ( String :: new, |s| plain_text_summary ( & s) ) ) ,
271+ ) ) ;
272+ }
268273 }
269274
270275 if self . shared . sort_modules_alphabetically {
You can’t perform that action at this time.
0 commit comments