@@ -24,9 +24,9 @@ use rustc_middle::ty::fold::TypeFolder;
24
24
use rustc_middle:: ty:: subst:: { InternalSubsts , Subst } ;
25
25
use rustc_middle:: ty:: { self , AdtKind , Lift , Ty , TyCtxt } ;
26
26
use rustc_mir:: const_eval:: { is_const_fn, is_min_const_fn, is_unstable_const_fn} ;
27
- use rustc_span:: hygiene:: MacroKind ;
27
+ use rustc_span:: hygiene:: { AstPass , MacroKind } ;
28
28
use rustc_span:: symbol:: { kw, sym, Ident , Symbol } ;
29
- use rustc_span:: { self , Pos } ;
29
+ use rustc_span:: { self , ExpnKind , Pos } ;
30
30
use rustc_typeck:: hir_ty_to_ty;
31
31
32
32
use std:: collections:: hash_map:: Entry ;
@@ -2232,6 +2232,13 @@ impl Clean<Vec<Item>> for doctree::ExternCrate<'_> {
2232
2232
2233
2233
impl Clean < Vec < Item > > for doctree:: Import < ' _ > {
2234
2234
fn clean ( & self , cx : & DocContext < ' _ > ) -> Vec < Item > {
2235
+ // We need this comparison because some imports (for std types for example)
2236
+ // are "inserted" as well but directly by the compiler and they should not be
2237
+ // taken into account.
2238
+ if self . span . ctxt ( ) . outer_expn_data ( ) . kind == ExpnKind :: AstPass ( AstPass :: StdImports ) {
2239
+ return Vec :: new ( ) ;
2240
+ }
2241
+
2235
2242
// We consider inlining the documentation of `pub use` statements, but we
2236
2243
// forcefully don't inline if this is not public or if the
2237
2244
// #[doc(no_inline)] attribute is present.
0 commit comments