diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2021-05-11 22:05:54 +0200 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2021-06-20 11:52:51 +0200 |
| commit | 6a371d2c8939c3a32ff0da69eb66b271ffa58288 (patch) | |
| tree | 2179683d40b533739caf3ded086d3bf0e5c7d9c6 /compiler/rustc_middle/src | |
| parent | 9543636cd6609cd2a9880da8f93aac96192ae40a (diff) | |
| download | rust-6a371d2c8939c3a32ff0da69eb66b271ffa58288.tar.gz rust-6a371d2c8939c3a32ff0da69eb66b271ffa58288.zip | |
Make allocator_kind a query.
Diffstat (limited to 'compiler/rustc_middle/src')
| -rw-r--r-- | compiler/rustc_middle/src/query/mod.rs | 4 | ||||
| -rw-r--r-- | compiler/rustc_middle/src/ty/context.rs | 6 | ||||
| -rw-r--r-- | compiler/rustc_middle/src/ty/query/mod.rs | 1 |
3 files changed, 6 insertions, 5 deletions
diff --git a/compiler/rustc_middle/src/query/mod.rs b/compiler/rustc_middle/src/query/mod.rs index dda407940e3..f66ff008801 100644 --- a/compiler/rustc_middle/src/query/mod.rs +++ b/compiler/rustc_middle/src/query/mod.rs @@ -1416,6 +1416,10 @@ rustc_queries! { eval_always desc { "check whether crate {} is a private dependency", c } } + query allocator_kind(_: ()) -> Option<AllocatorKind> { + eval_always + desc { "allocator kind for the current crate" } + } query upvars_mentioned(def_id: DefId) -> Option<&'tcx FxIndexMap<hir::HirId, hir::Upvar>> { desc { |tcx| "collecting upvars mentioned in `{}`", tcx.def_path_str(def_id) } diff --git a/compiler/rustc_middle/src/ty/context.rs b/compiler/rustc_middle/src/ty/context.rs index a74070100f4..558d3adffa9 100644 --- a/compiler/rustc_middle/src/ty/context.rs +++ b/compiler/rustc_middle/src/ty/context.rs @@ -26,7 +26,6 @@ use crate::ty::{ TraitObjectVisitor, Ty, TyKind, TyS, TyVar, TyVid, TypeAndMut, UintTy, Visibility, }; use rustc_ast as ast; -use rustc_ast::expand::allocator::AllocatorKind; use rustc_attr as attr; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::profiling::SelfProfilerRef; @@ -1259,10 +1258,6 @@ impl<'tcx> TyCtxt<'tcx> { self.all_crate_nums(()) } - pub fn allocator_kind(self) -> Option<AllocatorKind> { - self.cstore.allocator_kind() - } - pub fn features(self) -> &'tcx rustc_feature::Features { self.features_query(()) } @@ -2839,4 +2834,5 @@ pub fn provide(providers: &mut ty::query::Providers) { // We want to check if the panic handler was defined in this crate tcx.lang_items().panic_impl().map_or(false, |did| did.is_local()) }; + providers.allocator_kind = |tcx, ()| tcx.cstore.allocator_kind(); } diff --git a/compiler/rustc_middle/src/ty/query/mod.rs b/compiler/rustc_middle/src/ty/query/mod.rs index 297110ee3ec..2ac121fec7e 100644 --- a/compiler/rustc_middle/src/ty/query/mod.rs +++ b/compiler/rustc_middle/src/ty/query/mod.rs @@ -33,6 +33,7 @@ use crate::traits::{self, ImplSource}; use crate::ty::subst::{GenericArg, SubstsRef}; use crate::ty::util::AlwaysRequiresDrop; use crate::ty::{self, AdtSizedConstraint, CrateInherentImpls, ParamEnvAnd, Ty, TyCtxt}; +use rustc_ast::expand::allocator::AllocatorKind; use rustc_data_structures::fx::{FxHashMap, FxHashSet, FxIndexMap}; use rustc_data_structures::steal::Steal; use rustc_data_structures::svh::Svh; |
