nightly feature tracking: get rid of the per-feature bool fields
This commit is contained in:
parent
e1f3068995
commit
ad3991d303
108 changed files with 299 additions and 331 deletions
|
@ -12,7 +12,7 @@ use super::layout_test::ensure_wf;
|
|||
use crate::errors::{AbiInvalidAttribute, AbiNe, AbiOf, UnrecognizedField};
|
||||
|
||||
pub fn test_abi(tcx: TyCtxt<'_>) {
|
||||
if !tcx.features().rustc_attrs {
|
||||
if !tcx.features().rustc_attrs() {
|
||||
// if the `rustc_attrs` feature is not enabled, don't bother testing ABI
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -1187,7 +1187,7 @@ impl<'tcx> CheckAttrVisitor<'tcx> {
|
|||
|
||||
sym::rust_logo => {
|
||||
if self.check_attr_crate_level(attr, meta, hir_id)
|
||||
&& !self.tcx.features().rustdoc_internals
|
||||
&& !self.tcx.features().rustdoc_internals()
|
||||
{
|
||||
feature_err(
|
||||
&self.tcx.sess,
|
||||
|
@ -1774,7 +1774,7 @@ impl<'tcx> CheckAttrVisitor<'tcx> {
|
|||
}
|
||||
sym::align => {
|
||||
if let (Target::Fn | Target::Method(MethodKind::Inherent), false) =
|
||||
(target, self.tcx.features().fn_align)
|
||||
(target, self.tcx.features().fn_align())
|
||||
{
|
||||
feature_err(
|
||||
&self.tcx.sess,
|
||||
|
|
|
@ -105,7 +105,7 @@ impl<'tcx> CheckConstVisitor<'tcx> {
|
|||
|
||||
// If this crate is not using stability attributes, or this function is not claiming to be a
|
||||
// stable `const fn`, that is all that is required.
|
||||
if !tcx.features().staged_api || tcx.has_attr(def_id, sym::rustc_const_unstable) {
|
||||
if !tcx.features().staged_api() || tcx.has_attr(def_id, sym::rustc_const_unstable) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ use crate::errors::{
|
|||
};
|
||||
|
||||
pub fn test_layout(tcx: TyCtxt<'_>) {
|
||||
if !tcx.features().rustc_attrs {
|
||||
if !tcx.features().rustc_attrs() {
|
||||
// if the `rustc_attrs` feature is not enabled, don't bother testing layout
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -144,7 +144,7 @@ impl<'tcx> Visitor<'tcx> for LibFeatureCollector<'tcx> {
|
|||
fn lib_features(tcx: TyCtxt<'_>, LocalCrate: LocalCrate) -> LibFeatures {
|
||||
// If `staged_api` is not enabled then we aren't allowed to define lib
|
||||
// features; there is no point collecting them.
|
||||
if !tcx.features().staged_api {
|
||||
if !tcx.features().staged_api() {
|
||||
return LibFeatures::default();
|
||||
}
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ impl<'a, 'tcx> Annotator<'a, 'tcx> {
|
|||
}
|
||||
}
|
||||
|
||||
if !self.tcx.features().staged_api {
|
||||
if !self.tcx.features().staged_api() {
|
||||
// Propagate unstability. This can happen even for non-staged-api crates in case
|
||||
// -Zforce-unstable-if-unmarked is set.
|
||||
if let Some(stab) = self.parent_stab {
|
||||
|
@ -541,7 +541,7 @@ impl<'tcx> MissingStabilityAnnotations<'tcx> {
|
|||
}
|
||||
|
||||
fn check_missing_const_stability(&self, def_id: LocalDefId, span: Span) {
|
||||
if !self.tcx.features().staged_api {
|
||||
if !self.tcx.features().staged_api() {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -734,7 +734,7 @@ impl<'tcx> Visitor<'tcx> for Checker<'tcx> {
|
|||
// items.
|
||||
hir::ItemKind::Impl(hir::Impl { of_trait: Some(ref t), self_ty, items, .. }) => {
|
||||
let features = self.tcx.features();
|
||||
if features.staged_api {
|
||||
if features.staged_api() {
|
||||
let attrs = self.tcx.hir().attrs(item.hir_id());
|
||||
let stab = attr::find_stability(self.tcx.sess, attrs, item.span);
|
||||
let const_stab = attr::find_const_stability(self.tcx.sess, attrs, item.span);
|
||||
|
@ -762,7 +762,7 @@ impl<'tcx> Visitor<'tcx> for Checker<'tcx> {
|
|||
|
||||
// `#![feature(const_trait_impl)]` is unstable, so any impl declared stable
|
||||
// needs to have an error emitted.
|
||||
if features.const_trait_impl
|
||||
if features.const_trait_impl()
|
||||
&& self.tcx.is_const_trait_impl_raw(item.owner_id.to_def_id())
|
||||
&& const_stab.is_some_and(|(stab, _)| stab.is_const_stable())
|
||||
{
|
||||
|
@ -926,7 +926,7 @@ impl<'tcx> Visitor<'tcx> for CheckTraitImplStable<'tcx> {
|
|||
/// libraries, identify activated features that don't exist and error about them.
|
||||
pub fn check_unused_or_stable_features(tcx: TyCtxt<'_>) {
|
||||
let is_staged_api =
|
||||
tcx.sess.opts.unstable_opts.force_unstable_if_unmarked || tcx.features().staged_api;
|
||||
tcx.sess.opts.unstable_opts.force_unstable_if_unmarked || tcx.features().staged_api();
|
||||
if is_staged_api {
|
||||
let effective_visibilities = &tcx.effective_visibilities(());
|
||||
let mut missing = MissingStabilityAnnotations { tcx, effective_visibilities };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue