about summary refs log tree commit diff
path: root/src/librustdoc/clean
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-10-01 20:06:34 +0000
committerbors <bors@rust-lang.org>2021-10-01 20:06:34 +0000
commitc02371c442f811878ab3a0f5a813402b6dfd45d2 (patch)
treee293105dba102078f3039dba3ddc4f82f7c6c6bb /src/librustdoc/clean
parentb6057bf7b7ee7c58e6a39ead02eaa13b75f908c2 (diff)
parent77c300285c0528241b2b08823167598739fc0f82 (diff)
downloadrust-c02371c442f811878ab3a0f5a813402b6dfd45d2.tar.gz
rust-c02371c442f811878ab3a0f5a813402b6dfd45d2.zip
Auto merge of #88880 - cjgillot:no-krate, r=oli-obk
Rework HIR API to make invocations of the hir_crate query harder.

`hir_crate` forces the recomputation of queries that depend on it.

This PR aims at avoiding useless invocations of `hir_crate` by making dependent code go through `tcx.hir()`.
Diffstat (limited to 'src/librustdoc/clean')
-rw-r--r--src/librustdoc/clean/types.rs6
-rw-r--r--src/librustdoc/clean/utils.rs3
2 files changed, 3 insertions, 6 deletions
diff --git a/src/librustdoc/clean/types.rs b/src/librustdoc/clean/types.rs
index 248ff339514..0e78fe7aec3 100644
--- a/src/librustdoc/clean/types.rs
+++ b/src/librustdoc/clean/types.rs
@@ -230,8 +230,7 @@ impl ExternalCrate {
         };
         if root.is_local() {
             tcx.hir()
-                .krate()
-                .module()
+                .root_module()
                 .item_ids
                 .iter()
                 .filter_map(|&id| {
@@ -297,8 +296,7 @@ impl ExternalCrate {
 
         if root.is_local() {
             tcx.hir()
-                .krate()
-                .module()
+                .root_module()
                 .item_ids
                 .iter()
                 .filter_map(|&id| {
diff --git a/src/librustdoc/clean/utils.rs b/src/librustdoc/clean/utils.rs
index 33d460d587a..2a05787e40c 100644
--- a/src/librustdoc/clean/utils.rs
+++ b/src/librustdoc/clean/utils.rs
@@ -26,8 +26,7 @@ mod tests;
 crate fn krate(cx: &mut DocContext<'_>) -> Crate {
     use crate::visit_lib::LibEmbargoVisitor;
 
-    let krate = cx.tcx.hir().krate();
-    let module = crate::visit_ast::RustdocVisitor::new(cx).visit(krate);
+    let module = crate::visit_ast::RustdocVisitor::new(cx).visit();
 
     let mut externs = Vec::new();
     for &cnum in cx.tcx.crates(()).iter() {