Rollup merge of #60750 - petrochenkov:noquotok2, r=Mark-Simulacrum
syntax: Remove some legacy nonterminal tokens They were used by legacy quote macros removed in https://github.com/rust-lang/rust/pull/51285.
This commit is contained in:
commit
d11b6be6b9
4 changed files with 4 additions and 26 deletions
|
@ -663,7 +663,6 @@ pub fn noop_visit_interpolated<T: MutVisitor>(nt: &mut token::Nonterminal, vis:
|
|||
token::NtMeta(meta) => vis.visit_meta_item(meta),
|
||||
token::NtPath(path) => vis.visit_path(path),
|
||||
token::NtTT(tt) => vis.visit_tt(tt),
|
||||
token::NtArm(arm) => vis.visit_arm(arm),
|
||||
token::NtImplItem(item) =>
|
||||
visit_clobber(item, |item| {
|
||||
// See reasoning above.
|
||||
|
@ -676,9 +675,6 @@ pub fn noop_visit_interpolated<T: MutVisitor>(nt: &mut token::Nonterminal, vis:
|
|||
vis.flat_map_trait_item(item)
|
||||
.expect_one("expected visitor to produce exactly one item")
|
||||
}),
|
||||
token::NtGenerics(generics) => vis.visit_generics(generics),
|
||||
token::NtWhereClause(where_clause) => vis.visit_where_clause(where_clause),
|
||||
token::NtArg(arg) => vis.visit_arg(arg),
|
||||
token::NtVis(visib) => vis.visit_vis(visib),
|
||||
token::NtForeignItem(item) =>
|
||||
visit_clobber(item, |item| {
|
||||
|
|
|
@ -1925,8 +1925,6 @@ impl<'a> Parser<'a> {
|
|||
/// This version of parse arg doesn't necessarily require identifier names.
|
||||
fn parse_arg_general(&mut self, require_name: bool, is_trait_item: bool,
|
||||
allow_c_variadic: bool) -> PResult<'a, Arg> {
|
||||
maybe_whole!(self, NtArg, |x| x);
|
||||
|
||||
if let Ok(Some(_)) = self.parse_self_arg() {
|
||||
let mut err = self.struct_span_err(self.prev_span,
|
||||
"unexpected `self` argument in function");
|
||||
|
@ -4179,8 +4177,6 @@ impl<'a> Parser<'a> {
|
|||
}
|
||||
|
||||
crate fn parse_arm(&mut self) -> PResult<'a, Arm> {
|
||||
maybe_whole!(self, NtArm, |x| x);
|
||||
|
||||
let attrs = self.parse_outer_attributes()?;
|
||||
let pats = self.parse_pats()?;
|
||||
let guard = if self.eat_keyword(keywords::If) {
|
||||
|
@ -5915,8 +5911,6 @@ impl<'a> Parser<'a> {
|
|||
/// | ( < lifetimes , typaramseq ( , )? > )
|
||||
/// where typaramseq = ( typaram ) | ( typaram , typaramseq )
|
||||
fn parse_generics(&mut self) -> PResult<'a, ast::Generics> {
|
||||
maybe_whole!(self, NtGenerics, |x| x);
|
||||
|
||||
let span_lo = self.span;
|
||||
if self.eat_lt() {
|
||||
let params = self.parse_generic_params()?;
|
||||
|
@ -6169,8 +6163,6 @@ impl<'a> Parser<'a> {
|
|||
/// where T : Trait<U, V> + 'b, 'a : 'b
|
||||
/// ```
|
||||
fn parse_where_clause(&mut self) -> PResult<'a, WhereClause> {
|
||||
maybe_whole!(self, NtWhereClause, |x| x);
|
||||
|
||||
let mut where_clause = WhereClause {
|
||||
id: ast::DUMMY_NODE_ID,
|
||||
predicates: Vec::new(),
|
||||
|
|
|
@ -585,14 +585,12 @@ pub enum Nonterminal {
|
|||
NtPath(ast::Path),
|
||||
NtVis(ast::Visibility),
|
||||
NtTT(TokenTree),
|
||||
// These are not exposed to macros, but are used by quasiquote.
|
||||
NtArm(ast::Arm),
|
||||
NtImplItem(ast::ImplItem),
|
||||
// Used only for passing items to proc macro attributes (they are not
|
||||
// strictly necessary for that, `Annotatable` can be converted into
|
||||
// tokens directly, but doing that naively regresses pretty-printing).
|
||||
NtTraitItem(ast::TraitItem),
|
||||
NtImplItem(ast::ImplItem),
|
||||
NtForeignItem(ast::ForeignItem),
|
||||
NtGenerics(ast::Generics),
|
||||
NtWhereClause(ast::WhereClause),
|
||||
NtArg(ast::Arg),
|
||||
}
|
||||
|
||||
impl PartialEq for Nonterminal {
|
||||
|
@ -625,13 +623,9 @@ impl fmt::Debug for Nonterminal {
|
|||
NtMeta(..) => f.pad("NtMeta(..)"),
|
||||
NtPath(..) => f.pad("NtPath(..)"),
|
||||
NtTT(..) => f.pad("NtTT(..)"),
|
||||
NtArm(..) => f.pad("NtArm(..)"),
|
||||
NtImplItem(..) => f.pad("NtImplItem(..)"),
|
||||
NtTraitItem(..) => f.pad("NtTraitItem(..)"),
|
||||
NtForeignItem(..) => f.pad("NtForeignItem(..)"),
|
||||
NtGenerics(..) => f.pad("NtGenerics(..)"),
|
||||
NtWhereClause(..) => f.pad("NtWhereClause(..)"),
|
||||
NtArg(..) => f.pad("NtArg(..)"),
|
||||
NtVis(..) => f.pad("NtVis(..)"),
|
||||
NtLifetime(..) => f.pad("NtLifetime(..)"),
|
||||
}
|
||||
|
|
|
@ -278,12 +278,8 @@ pub fn nonterminal_to_string(nt: &Nonterminal) -> String {
|
|||
token::NtLifetime(e) => ident_to_string(e),
|
||||
token::NtLiteral(ref e) => expr_to_string(e),
|
||||
token::NtTT(ref tree) => tt_to_string(tree.clone()),
|
||||
token::NtArm(ref e) => arm_to_string(e),
|
||||
token::NtImplItem(ref e) => impl_item_to_string(e),
|
||||
token::NtTraitItem(ref e) => trait_item_to_string(e),
|
||||
token::NtGenerics(ref e) => generic_params_to_string(&e.params),
|
||||
token::NtWhereClause(ref e) => where_clause_to_string(e),
|
||||
token::NtArg(ref e) => arg_to_string(e),
|
||||
token::NtVis(ref e) => vis_to_string(e),
|
||||
token::NtForeignItem(ref e) => foreign_item_to_string(e),
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue