]> git.lizzy.rs Git - rust.git/commitdiff
Feed the `features_query` instead of grabbing it from the session lazily
authorOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>
Mon, 5 Dec 2022 17:52:17 +0000 (17:52 +0000)
committerOli Scherer <git-spam-no-reply9815368754983@oli-obk.de>
Thu, 12 Jan 2023 17:14:17 +0000 (17:14 +0000)
compiler/rustc_interface/src/passes.rs
compiler/rustc_lint/src/expect.rs
compiler/rustc_middle/src/query/mod.rs
compiler/rustc_middle/src/ty/context.rs
src/librustdoc/doctest.rs
src/tools/clippy/clippy_lints/src/attrs.rs

index 8d9e1ee7c2c4e29c0d8b4ced65b232e1f56fd5f7..2a6852d44eba7fd92f5ae8b2f496ae080d45f9da 100644 (file)
@@ -834,6 +834,7 @@ pub fn create_global_ctxt<'tcx>(
         );
         feed.resolutions(tcx.arena.alloc(untracked_resolutions));
         feed.output_filenames(tcx.arena.alloc(std::sync::Arc::new(outputs)));
+        feed.features_query(sess.features_untracked());
         let feed = tcx.feed_local_crate();
         feed.crate_name(crate_name);
     });
index cf8f31bcbd0650780b9374bed416b0cb9c9f95ce..bf00ade5f0bdba4c400ef3307e5caccc18461072 100644 (file)
@@ -12,7 +12,7 @@ pub(crate) fn provide(providers: &mut Providers) {
 }
 
 fn check_expectations(tcx: TyCtxt<'_>, tool_filter: Option<Symbol>) {
-    if !tcx.sess.features_untracked().enabled(sym::lint_reasons) {
+    if !tcx.features().enabled(sym::lint_reasons) {
         return;
     }
 
index 6efdbfff19dedd13f01eeb133fa1924feb3ef31d..8665591573695657dc3941e61f092529869f3327 100644 (file)
     }
 
     query features_query(_: ()) -> &'tcx rustc_feature::Features {
-        eval_always
+        feedable
         desc { "looking up enabled feature gates" }
     }
 
index 74537ea6a183caca15aed95a441997c52055277c..63f31e5a11f39e96e835a308d2e12653767d22f7 100644 (file)
@@ -2402,7 +2402,6 @@ pub fn provide(providers: &mut ty::query::Providers) {
 
     providers.extern_mod_stmt_cnum =
         |tcx, id| tcx.resolutions(()).extern_crate_map.get(&id).cloned();
-    providers.features_query = |tcx, ()| tcx.sess.features_untracked();
     providers.is_panic_runtime = |tcx, cnum| {
         assert_eq!(cnum, LOCAL_CRATE);
         tcx.sess.contains_name(tcx.hir().krate_attrs(), sym::panic_runtime)
index 5f8c777f32a5c5a064a4a5cdbb9564c1aa3cfdcb..d1b6d470e86ce91da866d11d89abbed6dc1622be 100644 (file)
@@ -1221,7 +1221,7 @@ fn visit_testable<F: FnOnce(&mut Self)>(
     ) {
         let ast_attrs = self.tcx.hir().attrs(hir_id);
         if let Some(ref cfg) = ast_attrs.cfg(self.tcx, &FxHashSet::default()) {
-            if !cfg.matches(&self.sess.parse_sess, Some(self.sess.features_untracked())) {
+            if !cfg.matches(&self.sess.parse_sess, Some(self.tcx.features())) {
                 return;
             }
         }
index 0710ac0bb0a72468bb8144351560972dcf53a55a..751c262673b1ca04bec420a92bddbeea88ffdf10 100644 (file)
@@ -472,7 +472,7 @@ fn check_clippy_lint_names(cx: &LateContext<'_>, name: Symbol, items: &[NestedMe
 
 fn check_lint_reason(cx: &LateContext<'_>, name: Symbol, items: &[NestedMetaItem], attr: &'_ Attribute) {
     // Check for the feature
-    if !cx.tcx.sess.features_untracked().lint_reasons {
+    if !cx.tcx.features().lint_reasons {
         return;
     }