nightly feature tracking: get rid of the per-feature bool fields
This commit is contained in:
@@ -77,7 +77,7 @@ impl<'tcx> InherentCollect<'tcx> {
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
if self.tcx.features().rustc_attrs {
|
||||
if self.tcx.features().rustc_attrs() {
|
||||
let items = self.tcx.associated_item_def_ids(impl_def_id);
|
||||
|
||||
if !self.tcx.has_attr(ty_def_id, sym::rustc_has_incoherent_inherent_impls) {
|
||||
@@ -115,7 +115,7 @@ impl<'tcx> InherentCollect<'tcx> {
|
||||
) -> Result<(), ErrorGuaranteed> {
|
||||
let items = self.tcx.associated_item_def_ids(impl_def_id);
|
||||
if !self.tcx.hir().rustc_coherence_is_core() {
|
||||
if self.tcx.features().rustc_attrs {
|
||||
if self.tcx.features().rustc_attrs() {
|
||||
for &impl_item in items {
|
||||
if !self.tcx.has_attr(impl_item, sym::rustc_allow_incoherent_impl) {
|
||||
let span = self.tcx.def_span(impl_def_id);
|
||||
|
||||
@@ -53,7 +53,7 @@ fn enforce_trait_manually_implementable(
|
||||
) -> Result<(), ErrorGuaranteed> {
|
||||
let impl_header_span = tcx.def_span(impl_def_id);
|
||||
|
||||
if tcx.is_lang_item(trait_def_id, LangItem::Freeze) && !tcx.features().freeze_impls {
|
||||
if tcx.is_lang_item(trait_def_id, LangItem::Freeze) && !tcx.features().freeze_impls() {
|
||||
feature_err(
|
||||
&tcx.sess,
|
||||
sym::freeze_impls,
|
||||
@@ -86,8 +86,8 @@ fn enforce_trait_manually_implementable(
|
||||
|
||||
if let ty::trait_def::TraitSpecializationKind::AlwaysApplicable = trait_def.specialization_kind
|
||||
{
|
||||
if !tcx.features().specialization
|
||||
&& !tcx.features().min_specialization
|
||||
if !tcx.features().specialization()
|
||||
&& !tcx.features().min_specialization()
|
||||
&& !impl_header_span.allows_unstable(sym::specialization)
|
||||
&& !impl_header_span.allows_unstable(sym::min_specialization)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user