@@ -244,6 +244,7 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
244244 res : Res ,
245245 renamed : Option < Symbol > ,
246246 please_inline : bool ,
247+ import_id : Option < LocalDefId > ,
247248 ) -> bool {
248249 debug ! ( "maybe_inline_local (renamed: {renamed:?}) res: {res:?}" ) ;
249250
@@ -338,20 +339,20 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
338339 let prev = mem:: replace ( & mut self . inlining , true ) ;
339340 for & i in m. item_ids {
340341 let i = tcx. hir_item ( i) ;
341- self . visit_item_inner ( i, None , Some ( def_id) ) ;
342+ self . visit_item_inner ( i, None , Some ( import_id . unwrap_or ( def_id) ) ) ;
342343 }
343344 self . inlining = prev;
344345 true
345346 }
346347 Node :: Item ( it) if !is_glob => {
347348 let prev = mem:: replace ( & mut self . inlining , true ) ;
348- self . visit_item_inner ( it, renamed, Some ( def_id) ) ;
349+ self . visit_item_inner ( it, renamed, Some ( import_id . unwrap_or ( def_id) ) ) ;
349350 self . inlining = prev;
350351 true
351352 }
352353 Node :: ForeignItem ( it) if !is_glob => {
353354 let prev = mem:: replace ( & mut self . inlining , true ) ;
354- self . visit_foreign_item_inner ( it, renamed, Some ( def_id) ) ;
355+ self . visit_foreign_item_inner ( it, renamed, Some ( import_id . unwrap_or ( def_id) ) ) ;
355356 self . inlining = prev;
356357 true
357358 }
@@ -519,8 +520,13 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
519520 hir:: UseKind :: Glob => None ,
520521 hir:: UseKind :: ListStem => unreachable ! ( ) ,
521522 } ;
522- if self . maybe_inline_local ( item. owner_id . def_id , res, ident, please_inline)
523- {
523+ if self . maybe_inline_local (
524+ item. owner_id . def_id ,
525+ res,
526+ ident,
527+ please_inline,
528+ import_id,
529+ ) {
524530 debug ! ( "Inlining {:?}" , item. owner_id. def_id) ;
525531 continue ;
526532 }
0 commit comments