Remove #[rustc_macro_edition_2021].
It was only temporarily used by pin!(), which no longer needs it.
This commit is contained in:
parent
49e5e4e3a5
commit
5f4d676e70
7 changed files with 1 additions and 40 deletions
|
@ -191,7 +191,6 @@ pub enum AttributeKind {
|
||||||
},
|
},
|
||||||
MacroTransparency(Transparency),
|
MacroTransparency(Transparency),
|
||||||
Repr(ThinVec<(ReprAttr, Span)>),
|
Repr(ThinVec<(ReprAttr, Span)>),
|
||||||
RustcMacroEdition2021,
|
|
||||||
Stability {
|
Stability {
|
||||||
stability: Stability,
|
stability: Stability,
|
||||||
/// Span of the `#[stable(...)]` or `#[unstable(...)]` attribute
|
/// Span of the `#[stable(...)]` or `#[unstable(...)]` attribute
|
||||||
|
|
|
@ -28,7 +28,6 @@ pub(crate) mod cfg;
|
||||||
pub(crate) mod confusables;
|
pub(crate) mod confusables;
|
||||||
pub(crate) mod deprecation;
|
pub(crate) mod deprecation;
|
||||||
pub(crate) mod repr;
|
pub(crate) mod repr;
|
||||||
pub(crate) mod rustc;
|
|
||||||
pub(crate) mod stability;
|
pub(crate) mod stability;
|
||||||
pub(crate) mod transparency;
|
pub(crate) mod transparency;
|
||||||
pub(crate) mod util;
|
pub(crate) mod util;
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
use rustc_attr_data_structures::AttributeKind;
|
|
||||||
use rustc_span::sym;
|
|
||||||
|
|
||||||
use super::{AcceptContext, SingleAttributeParser};
|
|
||||||
use crate::parser::ArgParser;
|
|
||||||
|
|
||||||
pub(crate) struct RustcMacroEdition2021Parser;
|
|
||||||
|
|
||||||
// FIXME(jdonszelmann): make these proper diagnostics
|
|
||||||
impl SingleAttributeParser for RustcMacroEdition2021Parser {
|
|
||||||
const PATH: &'static [rustc_span::Symbol] = &[sym::rustc_macro_edition_2021];
|
|
||||||
|
|
||||||
fn on_duplicate(_cx: &crate::context::AcceptContext<'_>, _first_span: rustc_span::Span) {}
|
|
||||||
|
|
||||||
fn convert(_cx: &AcceptContext<'_>, args: &ArgParser<'_>) -> Option<AttributeKind> {
|
|
||||||
assert!(args.no_args());
|
|
||||||
Some(AttributeKind::RustcMacroEdition2021)
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -15,7 +15,6 @@ use crate::attributes::allow_unstable::{AllowConstFnUnstableParser, AllowInterna
|
||||||
use crate::attributes::confusables::ConfusablesParser;
|
use crate::attributes::confusables::ConfusablesParser;
|
||||||
use crate::attributes::deprecation::DeprecationParser;
|
use crate::attributes::deprecation::DeprecationParser;
|
||||||
use crate::attributes::repr::ReprParser;
|
use crate::attributes::repr::ReprParser;
|
||||||
use crate::attributes::rustc::RustcMacroEdition2021Parser;
|
|
||||||
use crate::attributes::stability::{
|
use crate::attributes::stability::{
|
||||||
BodyStabilityParser, ConstStabilityIndirectParser, ConstStabilityParser, StabilityParser,
|
BodyStabilityParser, ConstStabilityIndirectParser, ConstStabilityParser, StabilityParser,
|
||||||
};
|
};
|
||||||
|
@ -77,7 +76,6 @@ attribute_groups!(
|
||||||
// tidy-alphabetical-start
|
// tidy-alphabetical-start
|
||||||
Single<ConstStabilityIndirectParser>,
|
Single<ConstStabilityIndirectParser>,
|
||||||
Single<DeprecationParser>,
|
Single<DeprecationParser>,
|
||||||
Single<RustcMacroEdition2021Parser>,
|
|
||||||
Single<TransparencyParser>,
|
Single<TransparencyParser>,
|
||||||
// tidy-alphabetical-end
|
// tidy-alphabetical-end
|
||||||
];
|
];
|
||||||
|
|
|
@ -676,14 +676,6 @@ pub static BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
|
||||||
"`rustc_never_type_options` is used to experiment with never type fallback and work on \
|
"`rustc_never_type_options` is used to experiment with never type fallback and work on \
|
||||||
never type stabilization, and will never be stable"
|
never type stabilization, and will never be stable"
|
||||||
),
|
),
|
||||||
rustc_attr!(
|
|
||||||
rustc_macro_edition_2021,
|
|
||||||
Normal,
|
|
||||||
template!(Word),
|
|
||||||
ErrorFollowing,
|
|
||||||
EncodeCrossCrate::No,
|
|
||||||
"makes spans in this macro edition 2021"
|
|
||||||
),
|
|
||||||
|
|
||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
// Internal attributes: Runtime related:
|
// Internal attributes: Runtime related:
|
||||||
|
|
|
@ -8,7 +8,7 @@ use std::sync::Arc;
|
||||||
use rustc_ast::expand::StrippedCfgItem;
|
use rustc_ast::expand::StrippedCfgItem;
|
||||||
use rustc_ast::{self as ast, Crate, NodeId, attr};
|
use rustc_ast::{self as ast, Crate, NodeId, attr};
|
||||||
use rustc_ast_pretty::pprust;
|
use rustc_ast_pretty::pprust;
|
||||||
use rustc_attr_parsing::{AttributeKind, StabilityLevel, find_attr};
|
use rustc_attr_parsing::StabilityLevel;
|
||||||
use rustc_data_structures::intern::Interned;
|
use rustc_data_structures::intern::Interned;
|
||||||
use rustc_errors::{Applicability, DiagCtxtHandle, StashKey};
|
use rustc_errors::{Applicability, DiagCtxtHandle, StashKey};
|
||||||
use rustc_expand::base::{
|
use rustc_expand::base::{
|
||||||
|
@ -1128,13 +1128,6 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
|
||||||
edition,
|
edition,
|
||||||
);
|
);
|
||||||
|
|
||||||
// The #[rustc_macro_edition_2021] attribute is used by the pin!() macro
|
|
||||||
// as a temporary workaround for a regression in expressiveness in Rust 2024.
|
|
||||||
// See https://github.com/rust-lang/rust/issues/138718.
|
|
||||||
if find_attr!(attrs.iter(), AttributeKind::RustcMacroEdition2021) {
|
|
||||||
ext.edition = Edition::Edition2021;
|
|
||||||
}
|
|
||||||
|
|
||||||
if let Some(builtin_name) = ext.builtin_name {
|
if let Some(builtin_name) = ext.builtin_name {
|
||||||
// The macro was marked with `#[rustc_builtin_macro]`.
|
// The macro was marked with `#[rustc_builtin_macro]`.
|
||||||
if let Some(builtin_ext_kind) = self.builtin_macros.get(&builtin_name) {
|
if let Some(builtin_ext_kind) = self.builtin_macros.get(&builtin_name) {
|
||||||
|
|
|
@ -1824,7 +1824,6 @@ symbols! {
|
||||||
rustc_lint_opt_ty,
|
rustc_lint_opt_ty,
|
||||||
rustc_lint_query_instability,
|
rustc_lint_query_instability,
|
||||||
rustc_lint_untracked_query_information,
|
rustc_lint_untracked_query_information,
|
||||||
rustc_macro_edition_2021,
|
|
||||||
rustc_macro_transparency,
|
rustc_macro_transparency,
|
||||||
rustc_main,
|
rustc_main,
|
||||||
rustc_mir,
|
rustc_mir,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue