about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoshua Nelson <jyn514@gmail.com>2020-07-15 10:42:18 -0400
committerJoshua Nelson <jyn514@gmail.com>2020-07-15 11:10:46 -0400
commit281ca139161fd6a208f2d531f683a706e8286826 (patch)
tree28c31cfba91db3828735a1037243142ab0971d30
parente117b47f759e93679192256043db67f8f8a68675 (diff)
downloadrust-281ca139161fd6a208f2d531f683a706e8286826.tar.gz
rust-281ca139161fd6a208f2d531f683a706e8286826.zip
Use the default providers in rustc_interface instead of adding our own
This avoids duplicating the same struct twice.
-rw-r--r--src/librustdoc/core.rs10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs
index c2d0bd103ec..00315675faf 100644
--- a/src/librustdoc/core.rs
+++ b/src/librustdoc/core.rs
@@ -16,7 +16,7 @@ use rustc_interface::interface;
 use rustc_middle::hir::map::Map;
 use rustc_middle::middle::cstore::CrateStore;
 use rustc_middle::middle::privacy::AccessLevels;
-use rustc_middle::ty::{self, Ty, TyCtxt};
+use rustc_middle::ty::{Ty, TyCtxt};
 use rustc_resolve as resolve;
 use rustc_session::config::{self, CrateType, ErrorOutputType};
 use rustc_session::lint;
@@ -391,12 +391,6 @@ pub fn run_core(options: RustdocOptions) -> (clean::Crate, RenderInfo, RenderOpt
             };
             // In case typeck does end up being called, don't ICE in case there were name resolution errors
             providers.typeck_tables_of = move |tcx, def_id| {
-                thread_local!(static DEFAULT_TYPECK: for<'tcx> fn(TyCtxt<'tcx>, LocalDefId) -> &'tcx ty::TypeckTables<'tcx> = {
-                    let mut providers = ty::query::Providers::default();
-                    rustc_typeck::provide(&mut providers);
-                    providers.typeck_tables_of
-                });
-
                 // Closures' tables come from their outermost function,
                 // as they are part of the same "inference environment".
                 // This avoids emitting errors for the parent twice (see similar code in `typeck_tables_of_with_fallback`)
@@ -409,7 +403,7 @@ pub fn run_core(options: RustdocOptions) -> (clean::Crate, RenderInfo, RenderOpt
                 let body = hir.body(hir.body_owned_by(hir.as_local_hir_id(def_id)));
                 debug!("visiting body for {:?}", def_id);
                 EmitIgnoredResolutionErrors::new(tcx).visit_body(body);
-                DEFAULT_TYPECK.with(|typeck| typeck(tcx, def_id))
+                (rustc_interface::DEFAULT_QUERY_PROVIDERS.typeck_tables_of)(tcx, def_id)
             };
         }),
         registry: rustc_driver::diagnostics_registry(),