]> git.lizzy.rs Git - rust.git/blobdiff - src/librustdoc/passes/collect_intra_doc_links/early.rs
Rollup merge of #95234 - ben0x539:nixquotes, r=Dylan-DPC
[rust.git] / src / librustdoc / passes / collect_intra_doc_links / early.rs
index 30636faf98c1f295e583926f1534886229194eac..39900270ccb6dfe8a6543a5c9208600df7aba49a 100644 (file)
         all_trait_impls: Default::default(),
     };
 
-    // Because of the `crate::` prefix, any doc comment can reference
-    // the crate root's set of in-scope traits. This line makes sure
-    // it's available.
-    loader.add_traits_in_scope(CRATE_DEF_ID.to_def_id());
-
     // Overridden `visit_item` below doesn't apply to the crate root,
     // so we have to visit its attributes and reexports separately.
     loader.load_links_in_attrs(&krate.attrs);
@@ -105,15 +100,13 @@ fn add_traits_in_parent_scope(&mut self, def_id: DefId) {
     /// having impls in them.
     fn add_foreign_traits_in_scope(&mut self) {
         for cnum in Vec::from_iter(self.resolver.cstore().crates_untracked()) {
-            // FIXME: Due to #78696 rustdoc can query traits in scope for any crate root.
-            self.add_traits_in_scope(cnum.as_def_id());
-
             let all_traits = Vec::from_iter(self.resolver.cstore().traits_in_crate_untracked(cnum));
             let all_trait_impls =
                 Vec::from_iter(self.resolver.cstore().trait_impls_in_crate_untracked(cnum));
             let all_inherent_impls =
                 Vec::from_iter(self.resolver.cstore().inherent_impls_in_crate_untracked(cnum));
-            let all_lang_items = Vec::from_iter(self.resolver.cstore().lang_items_untracked(cnum));
+            let all_incoherent_impls =
+                Vec::from_iter(self.resolver.cstore().incoherent_impls_in_crate_untracked(cnum));
 
             // Querying traits in scope is expensive so we try to prune the impl and traits lists
             // using privacy, private traits and impls from other crates are never documented in
@@ -137,7 +130,7 @@ fn add_foreign_traits_in_scope(&mut self) {
                     self.add_traits_in_parent_scope(impl_def_id);
                 }
             }
-            for def_id in all_lang_items {
+            for def_id in all_incoherent_impls {
                 self.add_traits_in_parent_scope(def_id);
             }