From 1376c5a617be5c25655d0d7cb63e3beaa5a6e026 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:20:39 +0200 Subject: Merging upstream version 1.70.0+dfsg1. Signed-off-by: Daniel Baumann --- vendor/syn/src/gen/clone.rs | 405 +++--- vendor/syn/src/gen/debug.rs | 2929 ++++++++++++++++++++------------------- vendor/syn/src/gen/eq.rs | 446 +++--- vendor/syn/src/gen/fold.rs | 1204 +++++++--------- vendor/syn/src/gen/hash.rs | 558 ++++---- vendor/syn/src/gen/visit.rs | 1413 ++++++++----------- vendor/syn/src/gen/visit_mut.rs | 1478 ++++++++------------ 7 files changed, 3745 insertions(+), 4688 deletions(-) (limited to 'vendor/syn/src/gen') diff --git a/vendor/syn/src/gen/clone.rs b/vendor/syn/src/gen/clone.rs index a413e3ec7..d275f5114 100644 --- a/vendor/syn/src/gen/clone.rs +++ b/vendor/syn/src/gen/clone.rs @@ -41,6 +41,30 @@ impl Clone for Arm { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] +impl Clone for AssocConst { + fn clone(&self) -> Self { + AssocConst { + ident: self.ident.clone(), + generics: self.generics.clone(), + eq_token: self.eq_token.clone(), + value: self.value.clone(), + } + } +} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] +impl Clone for AssocType { + fn clone(&self) -> Self { + AssocType { + ident: self.ident.clone(), + generics: self.generics.clone(), + eq_token: self.eq_token.clone(), + ty: self.ty.clone(), + } + } +} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Copy for AttrStyle {} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] @@ -57,8 +81,7 @@ impl Clone for Attribute { pound_token: self.pound_token.clone(), style: self.style.clone(), bracket_token: self.bracket_token.clone(), - path: self.path.clone(), - tokens: self.tokens.clone(), + meta: self.meta.clone(), } } } @@ -75,23 +98,24 @@ impl Clone for BareFnArg { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Copy for BinOp {} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for BinOp { +impl Clone for BareVariadic { fn clone(&self) -> Self { - *self + BareVariadic { + attrs: self.attrs.clone(), + name: self.name.clone(), + dots: self.dots.clone(), + comma: self.comma.clone(), + } } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for Binding { +impl Copy for BinOp {} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] +impl Clone for BinOp { fn clone(&self) -> Self { - Binding { - ident: self.ident.clone(), - eq_token: self.eq_token.clone(), - ty: self.ty.clone(), - } + *self } } #[cfg(feature = "full")] @@ -137,6 +161,7 @@ impl Clone for Constraint { fn clone(&self) -> Self { Constraint { ident: self.ident.clone(), + generics: self.generics.clone(), colon_token: self.colon_token.clone(), bounds: self.bounds.clone(), } @@ -208,8 +233,6 @@ impl Clone for Expr { #[cfg(feature = "full")] Expr::Assign(v0) => Expr::Assign(v0.clone()), #[cfg(feature = "full")] - Expr::AssignOp(v0) => Expr::AssignOp(v0.clone()), - #[cfg(feature = "full")] Expr::Async(v0) => Expr::Async(v0.clone()), #[cfg(feature = "full")] Expr::Await(v0) => Expr::Await(v0.clone()), @@ -217,29 +240,29 @@ impl Clone for Expr { #[cfg(feature = "full")] Expr::Block(v0) => Expr::Block(v0.clone()), #[cfg(feature = "full")] - Expr::Box(v0) => Expr::Box(v0.clone()), - #[cfg(feature = "full")] Expr::Break(v0) => Expr::Break(v0.clone()), Expr::Call(v0) => Expr::Call(v0.clone()), Expr::Cast(v0) => Expr::Cast(v0.clone()), #[cfg(feature = "full")] Expr::Closure(v0) => Expr::Closure(v0.clone()), #[cfg(feature = "full")] + Expr::Const(v0) => Expr::Const(v0.clone()), + #[cfg(feature = "full")] Expr::Continue(v0) => Expr::Continue(v0.clone()), Expr::Field(v0) => Expr::Field(v0.clone()), #[cfg(feature = "full")] Expr::ForLoop(v0) => Expr::ForLoop(v0.clone()), - #[cfg(feature = "full")] Expr::Group(v0) => Expr::Group(v0.clone()), #[cfg(feature = "full")] Expr::If(v0) => Expr::If(v0.clone()), Expr::Index(v0) => Expr::Index(v0.clone()), #[cfg(feature = "full")] + Expr::Infer(v0) => Expr::Infer(v0.clone()), + #[cfg(feature = "full")] Expr::Let(v0) => Expr::Let(v0.clone()), Expr::Lit(v0) => Expr::Lit(v0.clone()), #[cfg(feature = "full")] Expr::Loop(v0) => Expr::Loop(v0.clone()), - #[cfg(feature = "full")] Expr::Macro(v0) => Expr::Macro(v0.clone()), #[cfg(feature = "full")] Expr::Match(v0) => Expr::Match(v0.clone()), @@ -263,8 +286,6 @@ impl Clone for Expr { Expr::TryBlock(v0) => Expr::TryBlock(v0.clone()), #[cfg(feature = "full")] Expr::Tuple(v0) => Expr::Tuple(v0.clone()), - #[cfg(feature = "full")] - Expr::Type(v0) => Expr::Type(v0.clone()), Expr::Unary(v0) => Expr::Unary(v0.clone()), #[cfg(feature = "full")] Expr::Unsafe(v0) => Expr::Unsafe(v0.clone()), @@ -273,7 +294,7 @@ impl Clone for Expr { Expr::While(v0) => Expr::While(v0.clone()), #[cfg(feature = "full")] Expr::Yield(v0) => Expr::Yield(v0.clone()), - #[cfg(any(syn_no_non_exhaustive, not(feature = "full")))] + #[cfg(not(feature = "full"))] _ => unreachable!(), } } @@ -303,18 +324,6 @@ impl Clone for ExprAssign { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for ExprAssignOp { - fn clone(&self) -> Self { - ExprAssignOp { - attrs: self.attrs.clone(), - left: self.left.clone(), - op: self.op.clone(), - right: self.right.clone(), - } - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for ExprAsync { fn clone(&self) -> Self { ExprAsync { @@ -362,17 +371,6 @@ impl Clone for ExprBlock { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for ExprBox { - fn clone(&self) -> Self { - ExprBox { - attrs: self.attrs.clone(), - box_token: self.box_token.clone(), - expr: self.expr.clone(), - } - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for ExprBreak { fn clone(&self) -> Self { ExprBreak { @@ -413,6 +411,8 @@ impl Clone for ExprClosure { fn clone(&self) -> Self { ExprClosure { attrs: self.attrs.clone(), + lifetimes: self.lifetimes.clone(), + constness: self.constness.clone(), movability: self.movability.clone(), asyncness: self.asyncness.clone(), capture: self.capture.clone(), @@ -426,6 +426,17 @@ impl Clone for ExprClosure { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] +impl Clone for ExprConst { + fn clone(&self) -> Self { + ExprConst { + attrs: self.attrs.clone(), + const_token: self.const_token.clone(), + block: self.block.clone(), + } + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for ExprContinue { fn clone(&self) -> Self { ExprContinue { @@ -462,7 +473,7 @@ impl Clone for ExprForLoop { } } } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for ExprGroup { fn clone(&self) -> Self { @@ -500,6 +511,16 @@ impl Clone for ExprIndex { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] +impl Clone for ExprInfer { + fn clone(&self) -> Self { + ExprInfer { + attrs: self.attrs.clone(), + underscore_token: self.underscore_token.clone(), + } + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for ExprLet { fn clone(&self) -> Self { ExprLet { @@ -533,7 +554,7 @@ impl Clone for ExprLoop { } } } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for ExprMacro { fn clone(&self) -> Self { @@ -599,9 +620,9 @@ impl Clone for ExprRange { fn clone(&self) -> Self { ExprRange { attrs: self.attrs.clone(), - from: self.from.clone(), + start: self.start.clone(), limits: self.limits.clone(), - to: self.to.clone(), + end: self.end.clone(), } } } @@ -612,7 +633,6 @@ impl Clone for ExprReference { ExprReference { attrs: self.attrs.clone(), and_token: self.and_token.clone(), - raw: self.raw.clone(), mutability: self.mutability.clone(), expr: self.expr.clone(), } @@ -648,6 +668,7 @@ impl Clone for ExprStruct { fn clone(&self) -> Self { ExprStruct { attrs: self.attrs.clone(), + qself: self.qself.clone(), path: self.path.clone(), brace_token: self.brace_token.clone(), fields: self.fields.clone(), @@ -689,18 +710,6 @@ impl Clone for ExprTuple { } } } -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for ExprType { - fn clone(&self) -> Self { - ExprType { - attrs: self.attrs.clone(), - expr: self.expr.clone(), - colon_token: self.colon_token.clone(), - ty: self.ty.clone(), - } - } -} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for ExprUnary { @@ -754,12 +763,22 @@ impl Clone for Field { Field { attrs: self.attrs.clone(), vis: self.vis.clone(), + mutability: self.mutability.clone(), ident: self.ident.clone(), colon_token: self.colon_token.clone(), ty: self.ty.clone(), } } } +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] +impl Clone for FieldMutability { + fn clone(&self) -> Self { + match self { + FieldMutability::None => FieldMutability::None, + } + } +} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for FieldPat { @@ -846,8 +865,6 @@ impl Clone for ForeignItem { ForeignItem::Type(v0) => ForeignItem::Type(v0.clone()), ForeignItem::Macro(v0) => ForeignItem::Macro(v0.clone()), ForeignItem::Verbatim(v0) => ForeignItem::Verbatim(v0.clone()), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -899,6 +916,7 @@ impl Clone for ForeignItemType { vis: self.vis.clone(), type_token: self.type_token.clone(), ident: self.ident.clone(), + generics: self.generics.clone(), semi_token: self.semi_token.clone(), } } @@ -911,28 +929,19 @@ impl Clone for GenericArgument { GenericArgument::Lifetime(v0) => GenericArgument::Lifetime(v0.clone()), GenericArgument::Type(v0) => GenericArgument::Type(v0.clone()), GenericArgument::Const(v0) => GenericArgument::Const(v0.clone()), - GenericArgument::Binding(v0) => GenericArgument::Binding(v0.clone()), + GenericArgument::AssocType(v0) => GenericArgument::AssocType(v0.clone()), + GenericArgument::AssocConst(v0) => GenericArgument::AssocConst(v0.clone()), GenericArgument::Constraint(v0) => GenericArgument::Constraint(v0.clone()), } } } -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for GenericMethodArgument { - fn clone(&self) -> Self { - match self { - GenericMethodArgument::Type(v0) => GenericMethodArgument::Type(v0.clone()), - GenericMethodArgument::Const(v0) => GenericMethodArgument::Const(v0.clone()), - } - } -} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for GenericParam { fn clone(&self) -> Self { match self { - GenericParam::Type(v0) => GenericParam::Type(v0.clone()), GenericParam::Lifetime(v0) => GenericParam::Lifetime(v0.clone()), + GenericParam::Type(v0) => GenericParam::Type(v0.clone()), GenericParam::Const(v0) => GenericParam::Const(v0.clone()), } } @@ -955,12 +964,10 @@ impl Clone for ImplItem { fn clone(&self) -> Self { match self { ImplItem::Const(v0) => ImplItem::Const(v0.clone()), - ImplItem::Method(v0) => ImplItem::Method(v0.clone()), + ImplItem::Fn(v0) => ImplItem::Fn(v0.clone()), ImplItem::Type(v0) => ImplItem::Type(v0.clone()), ImplItem::Macro(v0) => ImplItem::Macro(v0.clone()), ImplItem::Verbatim(v0) => ImplItem::Verbatim(v0.clone()), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -974,6 +981,7 @@ impl Clone for ImplItemConst { defaultness: self.defaultness.clone(), const_token: self.const_token.clone(), ident: self.ident.clone(), + generics: self.generics.clone(), colon_token: self.colon_token.clone(), ty: self.ty.clone(), eq_token: self.eq_token.clone(), @@ -984,25 +992,25 @@ impl Clone for ImplItemConst { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for ImplItemMacro { +impl Clone for ImplItemFn { fn clone(&self) -> Self { - ImplItemMacro { + ImplItemFn { attrs: self.attrs.clone(), - mac: self.mac.clone(), - semi_token: self.semi_token.clone(), + vis: self.vis.clone(), + defaultness: self.defaultness.clone(), + sig: self.sig.clone(), + block: self.block.clone(), } } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for ImplItemMethod { +impl Clone for ImplItemMacro { fn clone(&self) -> Self { - ImplItemMethod { + ImplItemMacro { attrs: self.attrs.clone(), - vis: self.vis.clone(), - defaultness: self.defaultness.clone(), - sig: self.sig.clone(), - block: self.block.clone(), + mac: self.mac.clone(), + semi_token: self.semi_token.clone(), } } } @@ -1023,6 +1031,13 @@ impl Clone for ImplItemType { } } } +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] +impl Clone for ImplRestriction { + fn clone(&self) -> Self { + match *self {} + } +} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for Index { @@ -1045,7 +1060,6 @@ impl Clone for Item { Item::ForeignMod(v0) => Item::ForeignMod(v0.clone()), Item::Impl(v0) => Item::Impl(v0.clone()), Item::Macro(v0) => Item::Macro(v0.clone()), - Item::Macro2(v0) => Item::Macro2(v0.clone()), Item::Mod(v0) => Item::Mod(v0.clone()), Item::Static(v0) => Item::Static(v0.clone()), Item::Struct(v0) => Item::Struct(v0.clone()), @@ -1055,8 +1069,6 @@ impl Clone for Item { Item::Union(v0) => Item::Union(v0.clone()), Item::Use(v0) => Item::Use(v0.clone()), Item::Verbatim(v0) => Item::Verbatim(v0.clone()), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -1069,6 +1081,7 @@ impl Clone for ItemConst { vis: self.vis.clone(), const_token: self.const_token.clone(), ident: self.ident.clone(), + generics: self.generics.clone(), colon_token: self.colon_token.clone(), ty: self.ty.clone(), eq_token: self.eq_token.clone(), @@ -1125,6 +1138,7 @@ impl Clone for ItemForeignMod { fn clone(&self) -> Self { ItemForeignMod { attrs: self.attrs.clone(), + unsafety: self.unsafety.clone(), abi: self.abi.clone(), brace_token: self.brace_token.clone(), items: self.items.clone(), @@ -1162,24 +1176,12 @@ impl Clone for ItemMacro { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for ItemMacro2 { - fn clone(&self) -> Self { - ItemMacro2 { - attrs: self.attrs.clone(), - vis: self.vis.clone(), - macro_token: self.macro_token.clone(), - ident: self.ident.clone(), - rules: self.rules.clone(), - } - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for ItemMod { fn clone(&self) -> Self { ItemMod { attrs: self.attrs.clone(), vis: self.vis.clone(), + unsafety: self.unsafety.clone(), mod_token: self.mod_token.clone(), ident: self.ident.clone(), content: self.content.clone(), @@ -1229,6 +1231,7 @@ impl Clone for ItemTrait { vis: self.vis.clone(), unsafety: self.unsafety.clone(), auto_token: self.auto_token.clone(), + restriction: self.restriction.clone(), trait_token: self.trait_token.clone(), ident: self.ident.clone(), generics: self.generics.clone(), @@ -1311,9 +1314,9 @@ impl Clone for Label { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for LifetimeDef { +impl Clone for LifetimeParam { fn clone(&self) -> Self { - LifetimeDef { + LifetimeParam { attrs: self.attrs.clone(), lifetime: self.lifetime.clone(), colon_token: self.colon_token.clone(), @@ -1358,6 +1361,17 @@ impl Clone for Local { } } } +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] +impl Clone for LocalInit { + fn clone(&self) -> Self { + LocalInit { + eq_token: self.eq_token.clone(), + expr: self.expr.clone(), + diverge: self.diverge.clone(), + } + } +} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for Macro { @@ -1408,8 +1422,8 @@ impl Clone for MetaList { fn clone(&self) -> Self { MetaList { path: self.path.clone(), - paren_token: self.paren_token.clone(), - nested: self.nested.clone(), + delimiter: self.delimiter.clone(), + tokens: self.tokens.clone(), } } } @@ -1420,29 +1434,7 @@ impl Clone for MetaNameValue { MetaNameValue { path: self.path.clone(), eq_token: self.eq_token.clone(), - lit: self.lit.clone(), - } - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for MethodTurbofish { - fn clone(&self) -> Self { - MethodTurbofish { - colon2_token: self.colon2_token.clone(), - lt_token: self.lt_token.clone(), - args: self.args.clone(), - gt_token: self.gt_token.clone(), - } - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for NestedMeta { - fn clone(&self) -> Self { - match self { - NestedMeta::Meta(v0) => NestedMeta::Meta(v0.clone()), - NestedMeta::Lit(v0) => NestedMeta::Lit(v0.clone()), + value: self.value.clone(), } } } @@ -1462,11 +1454,12 @@ impl Clone for ParenthesizedGenericArguments { impl Clone for Pat { fn clone(&self) -> Self { match self { - Pat::Box(v0) => Pat::Box(v0.clone()), + Pat::Const(v0) => Pat::Const(v0.clone()), Pat::Ident(v0) => Pat::Ident(v0.clone()), Pat::Lit(v0) => Pat::Lit(v0.clone()), Pat::Macro(v0) => Pat::Macro(v0.clone()), Pat::Or(v0) => Pat::Or(v0.clone()), + Pat::Paren(v0) => Pat::Paren(v0.clone()), Pat::Path(v0) => Pat::Path(v0.clone()), Pat::Range(v0) => Pat::Range(v0.clone()), Pat::Reference(v0) => Pat::Reference(v0.clone()), @@ -1478,19 +1471,6 @@ impl Clone for Pat { Pat::Type(v0) => Pat::Type(v0.clone()), Pat::Verbatim(v0) => Pat::Verbatim(v0.clone()), Pat::Wild(v0) => Pat::Wild(v0.clone()), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), - } - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for PatBox { - fn clone(&self) -> Self { - PatBox { - attrs: self.attrs.clone(), - box_token: self.box_token.clone(), - pat: self.pat.clone(), } } } @@ -1509,26 +1489,6 @@ impl Clone for PatIdent { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for PatLit { - fn clone(&self) -> Self { - PatLit { - attrs: self.attrs.clone(), - expr: self.expr.clone(), - } - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for PatMacro { - fn clone(&self) -> Self { - PatMacro { - attrs: self.attrs.clone(), - mac: self.mac.clone(), - } - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for PatOr { fn clone(&self) -> Self { PatOr { @@ -1540,24 +1500,12 @@ impl Clone for PatOr { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for PatPath { - fn clone(&self) -> Self { - PatPath { - attrs: self.attrs.clone(), - qself: self.qself.clone(), - path: self.path.clone(), - } - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for PatRange { +impl Clone for PatParen { fn clone(&self) -> Self { - PatRange { + PatParen { attrs: self.attrs.clone(), - lo: self.lo.clone(), - limits: self.limits.clone(), - hi: self.hi.clone(), + paren_token: self.paren_token.clone(), + pat: self.pat.clone(), } } } @@ -1600,10 +1548,11 @@ impl Clone for PatStruct { fn clone(&self) -> Self { PatStruct { attrs: self.attrs.clone(), + qself: self.qself.clone(), path: self.path.clone(), brace_token: self.brace_token.clone(), fields: self.fields.clone(), - dot2_token: self.dot2_token.clone(), + rest: self.rest.clone(), } } } @@ -1624,8 +1573,10 @@ impl Clone for PatTupleStruct { fn clone(&self) -> Self { PatTupleStruct { attrs: self.attrs.clone(), + qself: self.qself.clone(), path: self.path.clone(), - pat: self.pat.clone(), + paren_token: self.paren_token.clone(), + elems: self.elems.clone(), } } } @@ -1686,17 +1637,6 @@ impl Clone for PathSegment { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for PredicateEq { - fn clone(&self) -> Self { - PredicateEq { - lhs_ty: self.lhs_ty.clone(), - eq_token: self.eq_token.clone(), - rhs_ty: self.rhs_ty.clone(), - } - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for PredicateLifetime { fn clone(&self) -> Self { PredicateLifetime { @@ -1750,6 +1690,8 @@ impl Clone for Receiver { reference: self.reference.clone(), mutability: self.mutability.clone(), self_token: self.self_token.clone(), + colon_token: self.colon_token.clone(), + ty: self.ty.clone(), } } } @@ -1784,13 +1726,34 @@ impl Clone for Signature { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] +impl Clone for StaticMutability { + fn clone(&self) -> Self { + match self { + StaticMutability::Mut(v0) => StaticMutability::Mut(v0.clone()), + StaticMutability::None => StaticMutability::None, + } + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for Stmt { fn clone(&self) -> Self { match self { Stmt::Local(v0) => Stmt::Local(v0.clone()), Stmt::Item(v0) => Stmt::Item(v0.clone()), - Stmt::Expr(v0) => Stmt::Expr(v0.clone()), - Stmt::Semi(v0, v1) => Stmt::Semi(v0.clone(), v1.clone()), + Stmt::Expr(v0, v1) => Stmt::Expr(v0.clone(), v1.clone()), + Stmt::Macro(v0) => Stmt::Macro(v0.clone()), + } + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] +impl Clone for StmtMacro { + fn clone(&self) -> Self { + StmtMacro { + attrs: self.attrs.clone(), + mac: self.mac.clone(), + semi_token: self.semi_token.clone(), } } } @@ -1822,12 +1785,10 @@ impl Clone for TraitItem { fn clone(&self) -> Self { match self { TraitItem::Const(v0) => TraitItem::Const(v0.clone()), - TraitItem::Method(v0) => TraitItem::Method(v0.clone()), + TraitItem::Fn(v0) => TraitItem::Fn(v0.clone()), TraitItem::Type(v0) => TraitItem::Type(v0.clone()), TraitItem::Macro(v0) => TraitItem::Macro(v0.clone()), TraitItem::Verbatim(v0) => TraitItem::Verbatim(v0.clone()), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -1839,6 +1800,7 @@ impl Clone for TraitItemConst { attrs: self.attrs.clone(), const_token: self.const_token.clone(), ident: self.ident.clone(), + generics: self.generics.clone(), colon_token: self.colon_token.clone(), ty: self.ty.clone(), default: self.default.clone(), @@ -1848,23 +1810,23 @@ impl Clone for TraitItemConst { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for TraitItemMacro { +impl Clone for TraitItemFn { fn clone(&self) -> Self { - TraitItemMacro { + TraitItemFn { attrs: self.attrs.clone(), - mac: self.mac.clone(), + sig: self.sig.clone(), + default: self.default.clone(), semi_token: self.semi_token.clone(), } } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for TraitItemMethod { +impl Clone for TraitItemMacro { fn clone(&self) -> Self { - TraitItemMethod { + TraitItemMacro { attrs: self.attrs.clone(), - sig: self.sig.clone(), - default: self.default.clone(), + mac: self.mac.clone(), semi_token: self.semi_token.clone(), } } @@ -1905,8 +1867,6 @@ impl Clone for Type { Type::TraitObject(v0) => Type::TraitObject(v0.clone()), Type::Tuple(v0) => Type::Tuple(v0.clone()), Type::Verbatim(v0) => Type::Verbatim(v0.clone()), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -2004,6 +1964,7 @@ impl Clone for TypeParamBound { match self { TypeParamBound::Trait(v0) => TypeParamBound::Trait(v0.clone()), TypeParamBound::Lifetime(v0) => TypeParamBound::Lifetime(v0.clone()), + TypeParamBound::Verbatim(v0) => TypeParamBound::Verbatim(v0.clone()), } } } @@ -2154,13 +2115,15 @@ impl Clone for UseTree { } } } -#[cfg(any(feature = "derive", feature = "full"))] +#[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for Variadic { fn clone(&self) -> Self { Variadic { attrs: self.attrs.clone(), + pat: self.pat.clone(), dots: self.dots.clone(), + comma: self.comma.clone(), } } } @@ -2178,24 +2141,6 @@ impl Clone for Variant { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for VisCrate { - fn clone(&self) -> Self { - VisCrate { - crate_token: self.crate_token.clone(), - } - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] -impl Clone for VisPublic { - fn clone(&self) -> Self { - VisPublic { - pub_token: self.pub_token.clone(), - } - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] impl Clone for VisRestricted { fn clone(&self) -> Self { VisRestricted { @@ -2212,7 +2157,6 @@ impl Clone for Visibility { fn clone(&self) -> Self { match self { Visibility::Public(v0) => Visibility::Public(v0.clone()), - Visibility::Crate(v0) => Visibility::Crate(v0.clone()), Visibility::Restricted(v0) => Visibility::Restricted(v0.clone()), Visibility::Inherited => Visibility::Inherited, } @@ -2233,9 +2177,8 @@ impl Clone for WhereClause { impl Clone for WherePredicate { fn clone(&self) -> Self { match self { - WherePredicate::Type(v0) => WherePredicate::Type(v0.clone()), WherePredicate::Lifetime(v0) => WherePredicate::Lifetime(v0.clone()), - WherePredicate::Eq(v0) => WherePredicate::Eq(v0.clone()), + WherePredicate::Type(v0) => WherePredicate::Type(v0.clone()), } } } diff --git a/vendor/syn/src/gen/debug.rs b/vendor/syn/src/gen/debug.rs index a1f0afa79..837fe99f4 100644 --- a/vendor/syn/src/gen/debug.rs +++ b/vendor/syn/src/gen/debug.rs @@ -17,12 +17,17 @@ impl Debug for Abi { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for AngleBracketedGenericArguments { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("AngleBracketedGenericArguments"); - formatter.field("colon2_token", &self.colon2_token); - formatter.field("lt_token", &self.lt_token); - formatter.field("args", &self.args); - formatter.field("gt_token", &self.gt_token); - formatter.finish() + impl AngleBracketedGenericArguments { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("colon2_token", &self.colon2_token); + formatter.field("lt_token", &self.lt_token); + formatter.field("args", &self.args); + formatter.field("gt_token", &self.gt_token); + formatter.finish() + } + } + self.debug(formatter, "AngleBracketedGenericArguments") } } #[cfg(feature = "full")] @@ -41,8 +46,33 @@ impl Debug for Arm { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Debug for AssocConst { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + let mut formatter = formatter.debug_struct("AssocConst"); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("eq_token", &self.eq_token); + formatter.field("value", &self.value); + formatter.finish() + } +} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Debug for AssocType { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + let mut formatter = formatter.debug_struct("AssocType"); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("eq_token", &self.eq_token); + formatter.field("ty", &self.ty); + formatter.finish() + } +} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for AttrStyle { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("AttrStyle::")?; match self { AttrStyle::Outer => formatter.write_str("Outer"), AttrStyle::Inner(v0) => { @@ -61,8 +91,7 @@ impl Debug for Attribute { formatter.field("pound_token", &self.pound_token); formatter.field("style", &self.style); formatter.field("bracket_token", &self.bracket_token); - formatter.field("path", &self.path); - formatter.field("tokens", &self.tokens); + formatter.field("meta", &self.meta); formatter.finish() } } @@ -79,8 +108,21 @@ impl Debug for BareFnArg { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Debug for BareVariadic { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + let mut formatter = formatter.debug_struct("BareVariadic"); + formatter.field("attrs", &self.attrs); + formatter.field("name", &self.name); + formatter.field("dots", &self.dots); + formatter.field("comma", &self.comma); + formatter.finish() + } +} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for BinOp { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("BinOp::")?; match self { BinOp::Add(v0) => { let mut formatter = formatter.debug_tuple("Add"); @@ -172,70 +214,59 @@ impl Debug for BinOp { formatter.field(v0); formatter.finish() } - BinOp::AddEq(v0) => { - let mut formatter = formatter.debug_tuple("AddEq"); + BinOp::AddAssign(v0) => { + let mut formatter = formatter.debug_tuple("AddAssign"); formatter.field(v0); formatter.finish() } - BinOp::SubEq(v0) => { - let mut formatter = formatter.debug_tuple("SubEq"); + BinOp::SubAssign(v0) => { + let mut formatter = formatter.debug_tuple("SubAssign"); formatter.field(v0); formatter.finish() } - BinOp::MulEq(v0) => { - let mut formatter = formatter.debug_tuple("MulEq"); + BinOp::MulAssign(v0) => { + let mut formatter = formatter.debug_tuple("MulAssign"); formatter.field(v0); formatter.finish() } - BinOp::DivEq(v0) => { - let mut formatter = formatter.debug_tuple("DivEq"); + BinOp::DivAssign(v0) => { + let mut formatter = formatter.debug_tuple("DivAssign"); formatter.field(v0); formatter.finish() } - BinOp::RemEq(v0) => { - let mut formatter = formatter.debug_tuple("RemEq"); + BinOp::RemAssign(v0) => { + let mut formatter = formatter.debug_tuple("RemAssign"); formatter.field(v0); formatter.finish() } - BinOp::BitXorEq(v0) => { - let mut formatter = formatter.debug_tuple("BitXorEq"); + BinOp::BitXorAssign(v0) => { + let mut formatter = formatter.debug_tuple("BitXorAssign"); formatter.field(v0); formatter.finish() } - BinOp::BitAndEq(v0) => { - let mut formatter = formatter.debug_tuple("BitAndEq"); + BinOp::BitAndAssign(v0) => { + let mut formatter = formatter.debug_tuple("BitAndAssign"); formatter.field(v0); formatter.finish() } - BinOp::BitOrEq(v0) => { - let mut formatter = formatter.debug_tuple("BitOrEq"); + BinOp::BitOrAssign(v0) => { + let mut formatter = formatter.debug_tuple("BitOrAssign"); formatter.field(v0); formatter.finish() } - BinOp::ShlEq(v0) => { - let mut formatter = formatter.debug_tuple("ShlEq"); + BinOp::ShlAssign(v0) => { + let mut formatter = formatter.debug_tuple("ShlAssign"); formatter.field(v0); formatter.finish() } - BinOp::ShrEq(v0) => { - let mut formatter = formatter.debug_tuple("ShrEq"); + BinOp::ShrAssign(v0) => { + let mut formatter = formatter.debug_tuple("ShrAssign"); formatter.field(v0); formatter.finish() } } } } -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for Binding { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("Binding"); - formatter.field("ident", &self.ident); - formatter.field("eq_token", &self.eq_token); - formatter.field("ty", &self.ty); - formatter.finish() - } -} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Block { @@ -279,6 +310,7 @@ impl Debug for Constraint { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { let mut formatter = formatter.debug_struct("Constraint"); formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); formatter.field("colon_token", &self.colon_token); formatter.field("bounds", &self.bounds); formatter.finish() @@ -288,22 +320,11 @@ impl Debug for Constraint { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Data { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("Data::")?; match self { - Data::Struct(v0) => { - let mut formatter = formatter.debug_tuple("Struct"); - formatter.field(v0); - formatter.finish() - } - Data::Enum(v0) => { - let mut formatter = formatter.debug_tuple("Enum"); - formatter.field(v0); - formatter.finish() - } - Data::Union(v0) => { - let mut formatter = formatter.debug_tuple("Union"); - formatter.field(v0); - formatter.finish() - } + Data::Struct(v0) => v0.debug(formatter, "Struct"), + Data::Enum(v0) => v0.debug(formatter, "Enum"), + Data::Union(v0) => v0.debug(formatter, "Union"), } } } @@ -311,32 +332,47 @@ impl Debug for Data { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for DataEnum { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("DataEnum"); - formatter.field("enum_token", &self.enum_token); - formatter.field("brace_token", &self.brace_token); - formatter.field("variants", &self.variants); - formatter.finish() + impl DataEnum { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("enum_token", &self.enum_token); + formatter.field("brace_token", &self.brace_token); + formatter.field("variants", &self.variants); + formatter.finish() + } + } + self.debug(formatter, "DataEnum") } } #[cfg(feature = "derive")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for DataStruct { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("DataStruct"); - formatter.field("struct_token", &self.struct_token); - formatter.field("fields", &self.fields); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl DataStruct { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("struct_token", &self.struct_token); + formatter.field("fields", &self.fields); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "DataStruct") } } #[cfg(feature = "derive")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for DataUnion { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("DataUnion"); - formatter.field("union_token", &self.union_token); - formatter.field("fields", &self.fields); - formatter.finish() + impl DataUnion { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("union_token", &self.union_token); + formatter.field("fields", &self.fields); + formatter.finish() + } + } + self.debug(formatter, "DataUnion") } } #[cfg(feature = "derive")] @@ -356,238 +392,79 @@ impl Debug for DeriveInput { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Expr { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("Expr::")?; match self { #[cfg(feature = "full")] - Expr::Array(v0) => { - let mut formatter = formatter.debug_tuple("Array"); - formatter.field(v0); - formatter.finish() - } - #[cfg(feature = "full")] - Expr::Assign(v0) => { - let mut formatter = formatter.debug_tuple("Assign"); - formatter.field(v0); - formatter.finish() - } - #[cfg(feature = "full")] - Expr::AssignOp(v0) => { - let mut formatter = formatter.debug_tuple("AssignOp"); - formatter.field(v0); - formatter.finish() - } - #[cfg(feature = "full")] - Expr::Async(v0) => { - let mut formatter = formatter.debug_tuple("Async"); - formatter.field(v0); - formatter.finish() - } + Expr::Array(v0) => v0.debug(formatter, "Array"), #[cfg(feature = "full")] - Expr::Await(v0) => { - let mut formatter = formatter.debug_tuple("Await"); - formatter.field(v0); - formatter.finish() - } - Expr::Binary(v0) => { - let mut formatter = formatter.debug_tuple("Binary"); - formatter.field(v0); - formatter.finish() - } + Expr::Assign(v0) => v0.debug(formatter, "Assign"), #[cfg(feature = "full")] - Expr::Block(v0) => { - let mut formatter = formatter.debug_tuple("Block"); - formatter.field(v0); - formatter.finish() - } + Expr::Async(v0) => v0.debug(formatter, "Async"), #[cfg(feature = "full")] - Expr::Box(v0) => { - let mut formatter = formatter.debug_tuple("Box"); - formatter.field(v0); - formatter.finish() - } + Expr::Await(v0) => v0.debug(formatter, "Await"), + Expr::Binary(v0) => v0.debug(formatter, "Binary"), #[cfg(feature = "full")] - Expr::Break(v0) => { - let mut formatter = formatter.debug_tuple("Break"); - formatter.field(v0); - formatter.finish() - } - Expr::Call(v0) => { - let mut formatter = formatter.debug_tuple("Call"); - formatter.field(v0); - formatter.finish() - } - Expr::Cast(v0) => { - let mut formatter = formatter.debug_tuple("Cast"); - formatter.field(v0); - formatter.finish() - } + Expr::Block(v0) => v0.debug(formatter, "Block"), #[cfg(feature = "full")] - Expr::Closure(v0) => { - let mut formatter = formatter.debug_tuple("Closure"); - formatter.field(v0); - formatter.finish() - } + Expr::Break(v0) => v0.debug(formatter, "Break"), + Expr::Call(v0) => v0.debug(formatter, "Call"), + Expr::Cast(v0) => v0.debug(formatter, "Cast"), #[cfg(feature = "full")] - Expr::Continue(v0) => { - let mut formatter = formatter.debug_tuple("Continue"); - formatter.field(v0); - formatter.finish() - } - Expr::Field(v0) => { - let mut formatter = formatter.debug_tuple("Field"); - formatter.field(v0); - formatter.finish() - } + Expr::Closure(v0) => v0.debug(formatter, "Closure"), #[cfg(feature = "full")] - Expr::ForLoop(v0) => { - let mut formatter = formatter.debug_tuple("ForLoop"); - formatter.field(v0); - formatter.finish() - } + Expr::Const(v0) => v0.debug(formatter, "Const"), #[cfg(feature = "full")] - Expr::Group(v0) => { - let mut formatter = formatter.debug_tuple("Group"); - formatter.field(v0); - formatter.finish() - } + Expr::Continue(v0) => v0.debug(formatter, "Continue"), + Expr::Field(v0) => v0.debug(formatter, "Field"), #[cfg(feature = "full")] - Expr::If(v0) => { - let mut formatter = formatter.debug_tuple("If"); - formatter.field(v0); - formatter.finish() - } - Expr::Index(v0) => { - let mut formatter = formatter.debug_tuple("Index"); - formatter.field(v0); - formatter.finish() - } + Expr::ForLoop(v0) => v0.debug(formatter, "ForLoop"), + Expr::Group(v0) => v0.debug(formatter, "Group"), #[cfg(feature = "full")] - Expr::Let(v0) => { - let mut formatter = formatter.debug_tuple("Let"); - formatter.field(v0); - formatter.finish() - } - Expr::Lit(v0) => { - let mut formatter = formatter.debug_tuple("Lit"); - formatter.field(v0); - formatter.finish() - } + Expr::If(v0) => v0.debug(formatter, "If"), + Expr::Index(v0) => v0.debug(formatter, "Index"), #[cfg(feature = "full")] - Expr::Loop(v0) => { - let mut formatter = formatter.debug_tuple("Loop"); - formatter.field(v0); - formatter.finish() - } + Expr::Infer(v0) => v0.debug(formatter, "Infer"), #[cfg(feature = "full")] - Expr::Macro(v0) => { - let mut formatter = formatter.debug_tuple("Macro"); - formatter.field(v0); - formatter.finish() - } + Expr::Let(v0) => v0.debug(formatter, "Let"), + Expr::Lit(v0) => v0.debug(formatter, "Lit"), #[cfg(feature = "full")] - Expr::Match(v0) => { - let mut formatter = formatter.debug_tuple("Match"); - formatter.field(v0); - formatter.finish() - } + Expr::Loop(v0) => v0.debug(formatter, "Loop"), + Expr::Macro(v0) => v0.debug(formatter, "Macro"), #[cfg(feature = "full")] - Expr::MethodCall(v0) => { - let mut formatter = formatter.debug_tuple("MethodCall"); - formatter.field(v0); - formatter.finish() - } - Expr::Paren(v0) => { - let mut formatter = formatter.debug_tuple("Paren"); - formatter.field(v0); - formatter.finish() - } - Expr::Path(v0) => { - let mut formatter = formatter.debug_tuple("Path"); - formatter.field(v0); - formatter.finish() - } + Expr::Match(v0) => v0.debug(formatter, "Match"), #[cfg(feature = "full")] - Expr::Range(v0) => { - let mut formatter = formatter.debug_tuple("Range"); - formatter.field(v0); - formatter.finish() - } + Expr::MethodCall(v0) => v0.debug(formatter, "MethodCall"), + Expr::Paren(v0) => v0.debug(formatter, "Paren"), + Expr::Path(v0) => v0.debug(formatter, "Path"), #[cfg(feature = "full")] - Expr::Reference(v0) => { - let mut formatter = formatter.debug_tuple("Reference"); - formatter.field(v0); - formatter.finish() - } + Expr::Range(v0) => v0.debug(formatter, "Range"), #[cfg(feature = "full")] - Expr::Repeat(v0) => { - let mut formatter = formatter.debug_tuple("Repeat"); - formatter.field(v0); - formatter.finish() - } + Expr::Reference(v0) => v0.debug(formatter, "Reference"), #[cfg(feature = "full")] - Expr::Return(v0) => { - let mut formatter = formatter.debug_tuple("Return"); - formatter.field(v0); - formatter.finish() - } + Expr::Repeat(v0) => v0.debug(formatter, "Repeat"), #[cfg(feature = "full")] - Expr::Struct(v0) => { - let mut formatter = formatter.debug_tuple("Struct"); - formatter.field(v0); - formatter.finish() - } + Expr::Return(v0) => v0.debug(formatter, "Return"), #[cfg(feature = "full")] - Expr::Try(v0) => { - let mut formatter = formatter.debug_tuple("Try"); - formatter.field(v0); - formatter.finish() - } + Expr::Struct(v0) => v0.debug(formatter, "Struct"), #[cfg(feature = "full")] - Expr::TryBlock(v0) => { - let mut formatter = formatter.debug_tuple("TryBlock"); - formatter.field(v0); - formatter.finish() - } + Expr::Try(v0) => v0.debug(formatter, "Try"), #[cfg(feature = "full")] - Expr::Tuple(v0) => { - let mut formatter = formatter.debug_tuple("Tuple"); - formatter.field(v0); - formatter.finish() - } + Expr::TryBlock(v0) => v0.debug(formatter, "TryBlock"), #[cfg(feature = "full")] - Expr::Type(v0) => { - let mut formatter = formatter.debug_tuple("Type"); - formatter.field(v0); - formatter.finish() - } - Expr::Unary(v0) => { - let mut formatter = formatter.debug_tuple("Unary"); - formatter.field(v0); - formatter.finish() - } + Expr::Tuple(v0) => v0.debug(formatter, "Tuple"), + Expr::Unary(v0) => v0.debug(formatter, "Unary"), #[cfg(feature = "full")] - Expr::Unsafe(v0) => { - let mut formatter = formatter.debug_tuple("Unsafe"); - formatter.field(v0); - formatter.finish() - } + Expr::Unsafe(v0) => v0.debug(formatter, "Unsafe"), Expr::Verbatim(v0) => { let mut formatter = formatter.debug_tuple("Verbatim"); formatter.field(v0); formatter.finish() } #[cfg(feature = "full")] - Expr::While(v0) => { - let mut formatter = formatter.debug_tuple("While"); - formatter.field(v0); - formatter.finish() - } + Expr::While(v0) => v0.debug(formatter, "While"), #[cfg(feature = "full")] - Expr::Yield(v0) => { - let mut formatter = formatter.debug_tuple("Yield"); - formatter.field(v0); - formatter.finish() - } - #[cfg(any(syn_no_non_exhaustive, not(feature = "full")))] + Expr::Yield(v0) => v0.debug(formatter, "Yield"), + #[cfg(not(feature = "full"))] _ => unreachable!(), } } @@ -596,469 +473,647 @@ impl Debug for Expr { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprArray { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprArray"); - formatter.field("attrs", &self.attrs); - formatter.field("bracket_token", &self.bracket_token); - formatter.field("elems", &self.elems); - formatter.finish() + impl ExprArray { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("bracket_token", &self.bracket_token); + formatter.field("elems", &self.elems); + formatter.finish() + } + } + self.debug(formatter, "ExprArray") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprAssign { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprAssign"); - formatter.field("attrs", &self.attrs); - formatter.field("left", &self.left); - formatter.field("eq_token", &self.eq_token); - formatter.field("right", &self.right); - formatter.finish() - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for ExprAssignOp { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprAssignOp"); - formatter.field("attrs", &self.attrs); - formatter.field("left", &self.left); - formatter.field("op", &self.op); - formatter.field("right", &self.right); - formatter.finish() + impl ExprAssign { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("left", &self.left); + formatter.field("eq_token", &self.eq_token); + formatter.field("right", &self.right); + formatter.finish() + } + } + self.debug(formatter, "ExprAssign") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprAsync { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprAsync"); - formatter.field("attrs", &self.attrs); - formatter.field("async_token", &self.async_token); - formatter.field("capture", &self.capture); - formatter.field("block", &self.block); - formatter.finish() + impl ExprAsync { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("async_token", &self.async_token); + formatter.field("capture", &self.capture); + formatter.field("block", &self.block); + formatter.finish() + } + } + self.debug(formatter, "ExprAsync") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprAwait { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprAwait"); - formatter.field("attrs", &self.attrs); - formatter.field("base", &self.base); - formatter.field("dot_token", &self.dot_token); - formatter.field("await_token", &self.await_token); - formatter.finish() + impl ExprAwait { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("base", &self.base); + formatter.field("dot_token", &self.dot_token); + formatter.field("await_token", &self.await_token); + formatter.finish() + } + } + self.debug(formatter, "ExprAwait") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprBinary { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprBinary"); - formatter.field("attrs", &self.attrs); - formatter.field("left", &self.left); - formatter.field("op", &self.op); - formatter.field("right", &self.right); - formatter.finish() + impl ExprBinary { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("left", &self.left); + formatter.field("op", &self.op); + formatter.field("right", &self.right); + formatter.finish() + } + } + self.debug(formatter, "ExprBinary") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprBlock { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprBlock"); - formatter.field("attrs", &self.attrs); - formatter.field("label", &self.label); - formatter.field("block", &self.block); - formatter.finish() - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for ExprBox { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprBox"); - formatter.field("attrs", &self.attrs); - formatter.field("box_token", &self.box_token); - formatter.field("expr", &self.expr); - formatter.finish() + impl ExprBlock { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("label", &self.label); + formatter.field("block", &self.block); + formatter.finish() + } + } + self.debug(formatter, "ExprBlock") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprBreak { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprBreak"); - formatter.field("attrs", &self.attrs); - formatter.field("break_token", &self.break_token); - formatter.field("label", &self.label); - formatter.field("expr", &self.expr); - formatter.finish() + impl ExprBreak { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("break_token", &self.break_token); + formatter.field("label", &self.label); + formatter.field("expr", &self.expr); + formatter.finish() + } + } + self.debug(formatter, "ExprBreak") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprCall { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprCall"); - formatter.field("attrs", &self.attrs); - formatter.field("func", &self.func); - formatter.field("paren_token", &self.paren_token); - formatter.field("args", &self.args); - formatter.finish() + impl ExprCall { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("func", &self.func); + formatter.field("paren_token", &self.paren_token); + formatter.field("args", &self.args); + formatter.finish() + } + } + self.debug(formatter, "ExprCall") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprCast { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprCast"); - formatter.field("attrs", &self.attrs); - formatter.field("expr", &self.expr); - formatter.field("as_token", &self.as_token); - formatter.field("ty", &self.ty); - formatter.finish() + impl ExprCast { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("expr", &self.expr); + formatter.field("as_token", &self.as_token); + formatter.field("ty", &self.ty); + formatter.finish() + } + } + self.debug(formatter, "ExprCast") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprClosure { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprClosure"); - formatter.field("attrs", &self.attrs); - formatter.field("movability", &self.movability); - formatter.field("asyncness", &self.asyncness); - formatter.field("capture", &self.capture); - formatter.field("or1_token", &self.or1_token); - formatter.field("inputs", &self.inputs); - formatter.field("or2_token", &self.or2_token); - formatter.field("output", &self.output); - formatter.field("body", &self.body); - formatter.finish() + impl ExprClosure { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("lifetimes", &self.lifetimes); + formatter.field("constness", &self.constness); + formatter.field("movability", &self.movability); + formatter.field("asyncness", &self.asyncness); + formatter.field("capture", &self.capture); + formatter.field("or1_token", &self.or1_token); + formatter.field("inputs", &self.inputs); + formatter.field("or2_token", &self.or2_token); + formatter.field("output", &self.output); + formatter.field("body", &self.body); + formatter.finish() + } + } + self.debug(formatter, "ExprClosure") + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Debug for ExprConst { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + impl ExprConst { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("const_token", &self.const_token); + formatter.field("block", &self.block); + formatter.finish() + } + } + self.debug(formatter, "ExprConst") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprContinue { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprContinue"); - formatter.field("attrs", &self.attrs); - formatter.field("continue_token", &self.continue_token); - formatter.field("label", &self.label); - formatter.finish() + impl ExprContinue { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("continue_token", &self.continue_token); + formatter.field("label", &self.label); + formatter.finish() + } + } + self.debug(formatter, "ExprContinue") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprField { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprField"); - formatter.field("attrs", &self.attrs); - formatter.field("base", &self.base); - formatter.field("dot_token", &self.dot_token); - formatter.field("member", &self.member); - formatter.finish() + impl ExprField { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("base", &self.base); + formatter.field("dot_token", &self.dot_token); + formatter.field("member", &self.member); + formatter.finish() + } + } + self.debug(formatter, "ExprField") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprForLoop { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprForLoop"); - formatter.field("attrs", &self.attrs); - formatter.field("label", &self.label); - formatter.field("for_token", &self.for_token); - formatter.field("pat", &self.pat); - formatter.field("in_token", &self.in_token); - formatter.field("expr", &self.expr); - formatter.field("body", &self.body); - formatter.finish() + impl ExprForLoop { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("label", &self.label); + formatter.field("for_token", &self.for_token); + formatter.field("pat", &self.pat); + formatter.field("in_token", &self.in_token); + formatter.field("expr", &self.expr); + formatter.field("body", &self.body); + formatter.finish() + } + } + self.debug(formatter, "ExprForLoop") } } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprGroup { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprGroup"); - formatter.field("attrs", &self.attrs); - formatter.field("group_token", &self.group_token); - formatter.field("expr", &self.expr); - formatter.finish() + impl ExprGroup { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("group_token", &self.group_token); + formatter.field("expr", &self.expr); + formatter.finish() + } + } + self.debug(formatter, "ExprGroup") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprIf { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprIf"); - formatter.field("attrs", &self.attrs); - formatter.field("if_token", &self.if_token); - formatter.field("cond", &self.cond); - formatter.field("then_branch", &self.then_branch); - formatter.field("else_branch", &self.else_branch); - formatter.finish() + impl ExprIf { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("if_token", &self.if_token); + formatter.field("cond", &self.cond); + formatter.field("then_branch", &self.then_branch); + formatter.field("else_branch", &self.else_branch); + formatter.finish() + } + } + self.debug(formatter, "ExprIf") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprIndex { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprIndex"); - formatter.field("attrs", &self.attrs); - formatter.field("expr", &self.expr); - formatter.field("bracket_token", &self.bracket_token); - formatter.field("index", &self.index); - formatter.finish() + impl ExprIndex { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("expr", &self.expr); + formatter.field("bracket_token", &self.bracket_token); + formatter.field("index", &self.index); + formatter.finish() + } + } + self.debug(formatter, "ExprIndex") + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Debug for ExprInfer { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + impl ExprInfer { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("underscore_token", &self.underscore_token); + formatter.finish() + } + } + self.debug(formatter, "ExprInfer") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprLet { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprLet"); - formatter.field("attrs", &self.attrs); - formatter.field("let_token", &self.let_token); - formatter.field("pat", &self.pat); - formatter.field("eq_token", &self.eq_token); - formatter.field("expr", &self.expr); - formatter.finish() + impl ExprLet { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("let_token", &self.let_token); + formatter.field("pat", &self.pat); + formatter.field("eq_token", &self.eq_token); + formatter.field("expr", &self.expr); + formatter.finish() + } + } + self.debug(formatter, "ExprLet") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprLit { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprLit"); - formatter.field("attrs", &self.attrs); - formatter.field("lit", &self.lit); - formatter.finish() + impl ExprLit { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("lit", &self.lit); + formatter.finish() + } + } + self.debug(formatter, "ExprLit") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprLoop { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprLoop"); - formatter.field("attrs", &self.attrs); - formatter.field("label", &self.label); - formatter.field("loop_token", &self.loop_token); - formatter.field("body", &self.body); - formatter.finish() + impl ExprLoop { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("label", &self.label); + formatter.field("loop_token", &self.loop_token); + formatter.field("body", &self.body); + formatter.finish() + } + } + self.debug(formatter, "ExprLoop") } } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprMacro { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprMacro"); - formatter.field("attrs", &self.attrs); - formatter.field("mac", &self.mac); - formatter.finish() + impl ExprMacro { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("mac", &self.mac); + formatter.finish() + } + } + self.debug(formatter, "ExprMacro") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprMatch { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprMatch"); - formatter.field("attrs", &self.attrs); - formatter.field("match_token", &self.match_token); - formatter.field("expr", &self.expr); - formatter.field("brace_token", &self.brace_token); - formatter.field("arms", &self.arms); - formatter.finish() + impl ExprMatch { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("match_token", &self.match_token); + formatter.field("expr", &self.expr); + formatter.field("brace_token", &self.brace_token); + formatter.field("arms", &self.arms); + formatter.finish() + } + } + self.debug(formatter, "ExprMatch") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprMethodCall { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprMethodCall"); - formatter.field("attrs", &self.attrs); - formatter.field("receiver", &self.receiver); - formatter.field("dot_token", &self.dot_token); - formatter.field("method", &self.method); - formatter.field("turbofish", &self.turbofish); - formatter.field("paren_token", &self.paren_token); - formatter.field("args", &self.args); - formatter.finish() + impl ExprMethodCall { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("receiver", &self.receiver); + formatter.field("dot_token", &self.dot_token); + formatter.field("method", &self.method); + formatter.field("turbofish", &self.turbofish); + formatter.field("paren_token", &self.paren_token); + formatter.field("args", &self.args); + formatter.finish() + } + } + self.debug(formatter, "ExprMethodCall") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprParen { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprParen"); - formatter.field("attrs", &self.attrs); - formatter.field("paren_token", &self.paren_token); - formatter.field("expr", &self.expr); - formatter.finish() + impl ExprParen { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("paren_token", &self.paren_token); + formatter.field("expr", &self.expr); + formatter.finish() + } + } + self.debug(formatter, "ExprParen") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprPath { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprPath"); - formatter.field("attrs", &self.attrs); - formatter.field("qself", &self.qself); - formatter.field("path", &self.path); - formatter.finish() + impl ExprPath { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("qself", &self.qself); + formatter.field("path", &self.path); + formatter.finish() + } + } + self.debug(formatter, "ExprPath") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprRange { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprRange"); - formatter.field("attrs", &self.attrs); - formatter.field("from", &self.from); - formatter.field("limits", &self.limits); - formatter.field("to", &self.to); - formatter.finish() + impl ExprRange { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("start", &self.start); + formatter.field("limits", &self.limits); + formatter.field("end", &self.end); + formatter.finish() + } + } + self.debug(formatter, "ExprRange") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprReference { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprReference"); - formatter.field("attrs", &self.attrs); - formatter.field("and_token", &self.and_token); - formatter.field("raw", &self.raw); - formatter.field("mutability", &self.mutability); - formatter.field("expr", &self.expr); - formatter.finish() + impl ExprReference { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("and_token", &self.and_token); + formatter.field("mutability", &self.mutability); + formatter.field("expr", &self.expr); + formatter.finish() + } + } + self.debug(formatter, "ExprReference") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprRepeat { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprRepeat"); - formatter.field("attrs", &self.attrs); - formatter.field("bracket_token", &self.bracket_token); - formatter.field("expr", &self.expr); - formatter.field("semi_token", &self.semi_token); - formatter.field("len", &self.len); - formatter.finish() + impl ExprRepeat { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("bracket_token", &self.bracket_token); + formatter.field("expr", &self.expr); + formatter.field("semi_token", &self.semi_token); + formatter.field("len", &self.len); + formatter.finish() + } + } + self.debug(formatter, "ExprRepeat") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprReturn { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprReturn"); - formatter.field("attrs", &self.attrs); - formatter.field("return_token", &self.return_token); - formatter.field("expr", &self.expr); - formatter.finish() + impl ExprReturn { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("return_token", &self.return_token); + formatter.field("expr", &self.expr); + formatter.finish() + } + } + self.debug(formatter, "ExprReturn") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprStruct { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprStruct"); - formatter.field("attrs", &self.attrs); - formatter.field("path", &self.path); - formatter.field("brace_token", &self.brace_token); - formatter.field("fields", &self.fields); - formatter.field("dot2_token", &self.dot2_token); - formatter.field("rest", &self.rest); - formatter.finish() + impl ExprStruct { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("qself", &self.qself); + formatter.field("path", &self.path); + formatter.field("brace_token", &self.brace_token); + formatter.field("fields", &self.fields); + formatter.field("dot2_token", &self.dot2_token); + formatter.field("rest", &self.rest); + formatter.finish() + } + } + self.debug(formatter, "ExprStruct") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprTry { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprTry"); - formatter.field("attrs", &self.attrs); - formatter.field("expr", &self.expr); - formatter.field("question_token", &self.question_token); - formatter.finish() + impl ExprTry { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("expr", &self.expr); + formatter.field("question_token", &self.question_token); + formatter.finish() + } + } + self.debug(formatter, "ExprTry") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprTryBlock { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprTryBlock"); - formatter.field("attrs", &self.attrs); - formatter.field("try_token", &self.try_token); - formatter.field("block", &self.block); - formatter.finish() + impl ExprTryBlock { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("try_token", &self.try_token); + formatter.field("block", &self.block); + formatter.finish() + } + } + self.debug(formatter, "ExprTryBlock") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprTuple { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprTuple"); - formatter.field("attrs", &self.attrs); - formatter.field("paren_token", &self.paren_token); - formatter.field("elems", &self.elems); - formatter.finish() - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for ExprType { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprType"); - formatter.field("attrs", &self.attrs); - formatter.field("expr", &self.expr); - formatter.field("colon_token", &self.colon_token); - formatter.field("ty", &self.ty); - formatter.finish() + impl ExprTuple { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("paren_token", &self.paren_token); + formatter.field("elems", &self.elems); + formatter.finish() + } + } + self.debug(formatter, "ExprTuple") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprUnary { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprUnary"); - formatter.field("attrs", &self.attrs); - formatter.field("op", &self.op); - formatter.field("expr", &self.expr); - formatter.finish() + impl ExprUnary { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("op", &self.op); + formatter.field("expr", &self.expr); + formatter.finish() + } + } + self.debug(formatter, "ExprUnary") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprUnsafe { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprUnsafe"); - formatter.field("attrs", &self.attrs); - formatter.field("unsafe_token", &self.unsafe_token); - formatter.field("block", &self.block); - formatter.finish() + impl ExprUnsafe { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("unsafe_token", &self.unsafe_token); + formatter.field("block", &self.block); + formatter.finish() + } + } + self.debug(formatter, "ExprUnsafe") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprWhile { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprWhile"); - formatter.field("attrs", &self.attrs); - formatter.field("label", &self.label); - formatter.field("while_token", &self.while_token); - formatter.field("cond", &self.cond); - formatter.field("body", &self.body); - formatter.finish() + impl ExprWhile { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("label", &self.label); + formatter.field("while_token", &self.while_token); + formatter.field("cond", &self.cond); + formatter.field("body", &self.body); + formatter.finish() + } + } + self.debug(formatter, "ExprWhile") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ExprYield { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ExprYield"); - formatter.field("attrs", &self.attrs); - formatter.field("yield_token", &self.yield_token); - formatter.field("expr", &self.expr); - formatter.finish() + impl ExprYield { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("yield_token", &self.yield_token); + formatter.field("expr", &self.expr); + formatter.finish() + } + } + self.debug(formatter, "ExprYield") } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1068,12 +1123,23 @@ impl Debug for Field { let mut formatter = formatter.debug_struct("Field"); formatter.field("attrs", &self.attrs); formatter.field("vis", &self.vis); + formatter.field("mutability", &self.mutability); formatter.field("ident", &self.ident); formatter.field("colon_token", &self.colon_token); formatter.field("ty", &self.ty); formatter.finish() } } +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Debug for FieldMutability { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("FieldMutability::")?; + match self { + FieldMutability::None => formatter.write_str("None"), + } + } +} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for FieldPat { @@ -1102,17 +1168,10 @@ impl Debug for FieldValue { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Fields { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("Fields::")?; match self { - Fields::Named(v0) => { - let mut formatter = formatter.debug_tuple("Named"); - formatter.field(v0); - formatter.finish() - } - Fields::Unnamed(v0) => { - let mut formatter = formatter.debug_tuple("Unnamed"); - formatter.field(v0); - formatter.finish() - } + Fields::Named(v0) => v0.debug(formatter, "Named"), + Fields::Unnamed(v0) => v0.debug(formatter, "Unnamed"), Fields::Unit => formatter.write_str("Unit"), } } @@ -1121,20 +1180,30 @@ impl Debug for Fields { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for FieldsNamed { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("FieldsNamed"); - formatter.field("brace_token", &self.brace_token); - formatter.field("named", &self.named); - formatter.finish() + impl FieldsNamed { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("brace_token", &self.brace_token); + formatter.field("named", &self.named); + formatter.finish() + } + } + self.debug(formatter, "FieldsNamed") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for FieldsUnnamed { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("FieldsUnnamed"); - formatter.field("paren_token", &self.paren_token); - formatter.field("unnamed", &self.unnamed); - formatter.finish() + impl FieldsUnnamed { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("paren_token", &self.paren_token); + formatter.field("unnamed", &self.unnamed); + formatter.finish() + } + } + self.debug(formatter, "FieldsUnnamed") } } #[cfg(feature = "full")] @@ -1152,6 +1221,7 @@ impl Debug for File { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for FnArg { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("FnArg::")?; match self { FnArg::Receiver(v0) => { let mut formatter = formatter.debug_tuple("Receiver"); @@ -1170,34 +1240,17 @@ impl Debug for FnArg { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ForeignItem { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("ForeignItem::")?; match self { - ForeignItem::Fn(v0) => { - let mut formatter = formatter.debug_tuple("Fn"); - formatter.field(v0); - formatter.finish() - } - ForeignItem::Static(v0) => { - let mut formatter = formatter.debug_tuple("Static"); - formatter.field(v0); - formatter.finish() - } - ForeignItem::Type(v0) => { - let mut formatter = formatter.debug_tuple("Type"); - formatter.field(v0); - formatter.finish() - } - ForeignItem::Macro(v0) => { - let mut formatter = formatter.debug_tuple("Macro"); - formatter.field(v0); - formatter.finish() - } + ForeignItem::Fn(v0) => v0.debug(formatter, "Fn"), + ForeignItem::Static(v0) => v0.debug(formatter, "Static"), + ForeignItem::Type(v0) => v0.debug(formatter, "Type"), + ForeignItem::Macro(v0) => v0.debug(formatter, "Macro"), ForeignItem::Verbatim(v0) => { let mut formatter = formatter.debug_tuple("Verbatim"); formatter.field(v0); formatter.finish() } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -1205,58 +1258,80 @@ impl Debug for ForeignItem { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ForeignItemFn { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ForeignItemFn"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("sig", &self.sig); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ForeignItemFn { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("sig", &self.sig); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ForeignItemFn") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ForeignItemMacro { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ForeignItemMacro"); - formatter.field("attrs", &self.attrs); - formatter.field("mac", &self.mac); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ForeignItemMacro { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("mac", &self.mac); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ForeignItemMacro") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ForeignItemStatic { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ForeignItemStatic"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("static_token", &self.static_token); - formatter.field("mutability", &self.mutability); - formatter.field("ident", &self.ident); - formatter.field("colon_token", &self.colon_token); - formatter.field("ty", &self.ty); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ForeignItemStatic { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("static_token", &self.static_token); + formatter.field("mutability", &self.mutability); + formatter.field("ident", &self.ident); + formatter.field("colon_token", &self.colon_token); + formatter.field("ty", &self.ty); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ForeignItemStatic") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ForeignItemType { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ForeignItemType"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("type_token", &self.type_token); - formatter.field("ident", &self.ident); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ForeignItemType { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("type_token", &self.type_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ForeignItemType") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for GenericArgument { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("GenericArgument::")?; match self { GenericArgument::Lifetime(v0) => { let mut formatter = formatter.debug_tuple("Lifetime"); @@ -1273,31 +1348,18 @@ impl Debug for GenericArgument { formatter.field(v0); formatter.finish() } - GenericArgument::Binding(v0) => { - let mut formatter = formatter.debug_tuple("Binding"); + GenericArgument::AssocType(v0) => { + let mut formatter = formatter.debug_tuple("AssocType"); formatter.field(v0); formatter.finish() } - GenericArgument::Constraint(v0) => { - let mut formatter = formatter.debug_tuple("Constraint"); + GenericArgument::AssocConst(v0) => { + let mut formatter = formatter.debug_tuple("AssocConst"); formatter.field(v0); formatter.finish() } - } - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for GenericMethodArgument { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - match self { - GenericMethodArgument::Type(v0) => { - let mut formatter = formatter.debug_tuple("Type"); - formatter.field(v0); - formatter.finish() - } - GenericMethodArgument::Const(v0) => { - let mut formatter = formatter.debug_tuple("Const"); + GenericArgument::Constraint(v0) => { + let mut formatter = formatter.debug_tuple("Constraint"); formatter.field(v0); formatter.finish() } @@ -1308,14 +1370,15 @@ impl Debug for GenericMethodArgument { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for GenericParam { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("GenericParam::")?; match self { - GenericParam::Type(v0) => { - let mut formatter = formatter.debug_tuple("Type"); + GenericParam::Lifetime(v0) => { + let mut formatter = formatter.debug_tuple("Lifetime"); formatter.field(v0); formatter.finish() } - GenericParam::Lifetime(v0) => { - let mut formatter = formatter.debug_tuple("Lifetime"); + GenericParam::Type(v0) => { + let mut formatter = formatter.debug_tuple("Type"); formatter.field(v0); formatter.finish() } @@ -1343,34 +1406,17 @@ impl Debug for Generics { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ImplItem { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("ImplItem::")?; match self { - ImplItem::Const(v0) => { - let mut formatter = formatter.debug_tuple("Const"); - formatter.field(v0); - formatter.finish() - } - ImplItem::Method(v0) => { - let mut formatter = formatter.debug_tuple("Method"); - formatter.field(v0); - formatter.finish() - } - ImplItem::Type(v0) => { - let mut formatter = formatter.debug_tuple("Type"); - formatter.field(v0); - formatter.finish() - } - ImplItem::Macro(v0) => { - let mut formatter = formatter.debug_tuple("Macro"); - formatter.field(v0); - formatter.finish() - } + ImplItem::Const(v0) => v0.debug(formatter, "Const"), + ImplItem::Fn(v0) => v0.debug(formatter, "Fn"), + ImplItem::Type(v0) => v0.debug(formatter, "Type"), + ImplItem::Macro(v0) => v0.debug(formatter, "Macro"), ImplItem::Verbatim(v0) => { let mut formatter = formatter.debug_tuple("Verbatim"); formatter.field(v0); formatter.finish() } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -1378,59 +1424,87 @@ impl Debug for ImplItem { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ImplItemConst { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ImplItemConst"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("defaultness", &self.defaultness); - formatter.field("const_token", &self.const_token); - formatter.field("ident", &self.ident); - formatter.field("colon_token", &self.colon_token); - formatter.field("ty", &self.ty); - formatter.field("eq_token", &self.eq_token); - formatter.field("expr", &self.expr); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ImplItemConst { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("defaultness", &self.defaultness); + formatter.field("const_token", &self.const_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("colon_token", &self.colon_token); + formatter.field("ty", &self.ty); + formatter.field("eq_token", &self.eq_token); + formatter.field("expr", &self.expr); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ImplItemConst") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for ImplItemMacro { +impl Debug for ImplItemFn { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ImplItemMacro"); - formatter.field("attrs", &self.attrs); - formatter.field("mac", &self.mac); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ImplItemFn { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("defaultness", &self.defaultness); + formatter.field("sig", &self.sig); + formatter.field("block", &self.block); + formatter.finish() + } + } + self.debug(formatter, "ImplItemFn") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for ImplItemMethod { +impl Debug for ImplItemMacro { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ImplItemMethod"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("defaultness", &self.defaultness); - formatter.field("sig", &self.sig); - formatter.field("block", &self.block); - formatter.finish() + impl ImplItemMacro { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("mac", &self.mac); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ImplItemMacro") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ImplItemType { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ImplItemType"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("defaultness", &self.defaultness); - formatter.field("type_token", &self.type_token); - formatter.field("ident", &self.ident); - formatter.field("generics", &self.generics); - formatter.field("eq_token", &self.eq_token); - formatter.field("ty", &self.ty); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ImplItemType { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("defaultness", &self.defaultness); + formatter.field("type_token", &self.type_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("eq_token", &self.eq_token); + formatter.field("ty", &self.ty); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ImplItemType") + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Debug for ImplRestriction { + fn fmt(&self, _formatter: &mut fmt::Formatter) -> fmt::Result { + match *self {} } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1447,94 +1521,28 @@ impl Debug for Index { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Item { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("Item::")?; match self { - Item::Const(v0) => { - let mut formatter = formatter.debug_tuple("Const"); - formatter.field(v0); - formatter.finish() - } - Item::Enum(v0) => { - let mut formatter = formatter.debug_tuple("Enum"); - formatter.field(v0); - formatter.finish() - } - Item::ExternCrate(v0) => { - let mut formatter = formatter.debug_tuple("ExternCrate"); - formatter.field(v0); - formatter.finish() - } - Item::Fn(v0) => { - let mut formatter = formatter.debug_tuple("Fn"); - formatter.field(v0); - formatter.finish() - } - Item::ForeignMod(v0) => { - let mut formatter = formatter.debug_tuple("ForeignMod"); - formatter.field(v0); - formatter.finish() - } - Item::Impl(v0) => { - let mut formatter = formatter.debug_tuple("Impl"); - formatter.field(v0); - formatter.finish() - } - Item::Macro(v0) => { - let mut formatter = formatter.debug_tuple("Macro"); - formatter.field(v0); - formatter.finish() - } - Item::Macro2(v0) => { - let mut formatter = formatter.debug_tuple("Macro2"); - formatter.field(v0); - formatter.finish() - } - Item::Mod(v0) => { - let mut formatter = formatter.debug_tuple("Mod"); - formatter.field(v0); - formatter.finish() - } - Item::Static(v0) => { - let mut formatter = formatter.debug_tuple("Static"); - formatter.field(v0); - formatter.finish() - } - Item::Struct(v0) => { - let mut formatter = formatter.debug_tuple("Struct"); - formatter.field(v0); - formatter.finish() - } - Item::Trait(v0) => { - let mut formatter = formatter.debug_tuple("Trait"); - formatter.field(v0); - formatter.finish() - } - Item::TraitAlias(v0) => { - let mut formatter = formatter.debug_tuple("TraitAlias"); - formatter.field(v0); - formatter.finish() - } - Item::Type(v0) => { - let mut formatter = formatter.debug_tuple("Type"); - formatter.field(v0); - formatter.finish() - } - Item::Union(v0) => { - let mut formatter = formatter.debug_tuple("Union"); - formatter.field(v0); - formatter.finish() - } - Item::Use(v0) => { - let mut formatter = formatter.debug_tuple("Use"); - formatter.field(v0); - formatter.finish() - } + Item::Const(v0) => v0.debug(formatter, "Const"), + Item::Enum(v0) => v0.debug(formatter, "Enum"), + Item::ExternCrate(v0) => v0.debug(formatter, "ExternCrate"), + Item::Fn(v0) => v0.debug(formatter, "Fn"), + Item::ForeignMod(v0) => v0.debug(formatter, "ForeignMod"), + Item::Impl(v0) => v0.debug(formatter, "Impl"), + Item::Macro(v0) => v0.debug(formatter, "Macro"), + Item::Mod(v0) => v0.debug(formatter, "Mod"), + Item::Static(v0) => v0.debug(formatter, "Static"), + Item::Struct(v0) => v0.debug(formatter, "Struct"), + Item::Trait(v0) => v0.debug(formatter, "Trait"), + Item::TraitAlias(v0) => v0.debug(formatter, "TraitAlias"), + Item::Type(v0) => v0.debug(formatter, "Type"), + Item::Union(v0) => v0.debug(formatter, "Union"), + Item::Use(v0) => v0.debug(formatter, "Use"), Item::Verbatim(v0) => { let mut formatter = formatter.debug_tuple("Verbatim"); formatter.field(v0); formatter.finish() } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -1542,239 +1550,305 @@ impl Debug for Item { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemConst { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemConst"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("const_token", &self.const_token); - formatter.field("ident", &self.ident); - formatter.field("colon_token", &self.colon_token); - formatter.field("ty", &self.ty); - formatter.field("eq_token", &self.eq_token); - formatter.field("expr", &self.expr); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ItemConst { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("const_token", &self.const_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("colon_token", &self.colon_token); + formatter.field("ty", &self.ty); + formatter.field("eq_token", &self.eq_token); + formatter.field("expr", &self.expr); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ItemConst") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemEnum { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemEnum"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("enum_token", &self.enum_token); - formatter.field("ident", &self.ident); - formatter.field("generics", &self.generics); - formatter.field("brace_token", &self.brace_token); - formatter.field("variants", &self.variants); - formatter.finish() + impl ItemEnum { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("enum_token", &self.enum_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("brace_token", &self.brace_token); + formatter.field("variants", &self.variants); + formatter.finish() + } + } + self.debug(formatter, "ItemEnum") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemExternCrate { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemExternCrate"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("extern_token", &self.extern_token); - formatter.field("crate_token", &self.crate_token); - formatter.field("ident", &self.ident); - formatter.field("rename", &self.rename); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ItemExternCrate { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("extern_token", &self.extern_token); + formatter.field("crate_token", &self.crate_token); + formatter.field("ident", &self.ident); + formatter.field("rename", &self.rename); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ItemExternCrate") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemFn { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemFn"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("sig", &self.sig); - formatter.field("block", &self.block); - formatter.finish() + impl ItemFn { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("sig", &self.sig); + formatter.field("block", &self.block); + formatter.finish() + } + } + self.debug(formatter, "ItemFn") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemForeignMod { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemForeignMod"); - formatter.field("attrs", &self.attrs); - formatter.field("abi", &self.abi); - formatter.field("brace_token", &self.brace_token); - formatter.field("items", &self.items); - formatter.finish() + impl ItemForeignMod { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("unsafety", &self.unsafety); + formatter.field("abi", &self.abi); + formatter.field("brace_token", &self.brace_token); + formatter.field("items", &self.items); + formatter.finish() + } + } + self.debug(formatter, "ItemForeignMod") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemImpl { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemImpl"); - formatter.field("attrs", &self.attrs); - formatter.field("defaultness", &self.defaultness); - formatter.field("unsafety", &self.unsafety); - formatter.field("impl_token", &self.impl_token); - formatter.field("generics", &self.generics); - formatter.field("trait_", &self.trait_); - formatter.field("self_ty", &self.self_ty); - formatter.field("brace_token", &self.brace_token); - formatter.field("items", &self.items); - formatter.finish() + impl ItemImpl { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("defaultness", &self.defaultness); + formatter.field("unsafety", &self.unsafety); + formatter.field("impl_token", &self.impl_token); + formatter.field("generics", &self.generics); + formatter.field("trait_", &self.trait_); + formatter.field("self_ty", &self.self_ty); + formatter.field("brace_token", &self.brace_token); + formatter.field("items", &self.items); + formatter.finish() + } + } + self.debug(formatter, "ItemImpl") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemMacro { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemMacro"); - formatter.field("attrs", &self.attrs); - formatter.field("ident", &self.ident); - formatter.field("mac", &self.mac); - formatter.field("semi_token", &self.semi_token); - formatter.finish() - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for ItemMacro2 { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemMacro2"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("macro_token", &self.macro_token); - formatter.field("ident", &self.ident); - formatter.field("rules", &self.rules); - formatter.finish() + impl ItemMacro { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("ident", &self.ident); + formatter.field("mac", &self.mac); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ItemMacro") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemMod { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemMod"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("mod_token", &self.mod_token); - formatter.field("ident", &self.ident); - formatter.field("content", &self.content); - formatter.field("semi", &self.semi); - formatter.finish() + impl ItemMod { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("unsafety", &self.unsafety); + formatter.field("mod_token", &self.mod_token); + formatter.field("ident", &self.ident); + formatter.field("content", &self.content); + formatter.field("semi", &self.semi); + formatter.finish() + } + } + self.debug(formatter, "ItemMod") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemStatic { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemStatic"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("static_token", &self.static_token); - formatter.field("mutability", &self.mutability); - formatter.field("ident", &self.ident); - formatter.field("colon_token", &self.colon_token); - formatter.field("ty", &self.ty); - formatter.field("eq_token", &self.eq_token); - formatter.field("expr", &self.expr); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ItemStatic { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("static_token", &self.static_token); + formatter.field("mutability", &self.mutability); + formatter.field("ident", &self.ident); + formatter.field("colon_token", &self.colon_token); + formatter.field("ty", &self.ty); + formatter.field("eq_token", &self.eq_token); + formatter.field("expr", &self.expr); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ItemStatic") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemStruct { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemStruct"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("struct_token", &self.struct_token); - formatter.field("ident", &self.ident); - formatter.field("generics", &self.generics); - formatter.field("fields", &self.fields); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ItemStruct { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("struct_token", &self.struct_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("fields", &self.fields); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ItemStruct") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemTrait { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemTrait"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("unsafety", &self.unsafety); - formatter.field("auto_token", &self.auto_token); - formatter.field("trait_token", &self.trait_token); - formatter.field("ident", &self.ident); - formatter.field("generics", &self.generics); - formatter.field("colon_token", &self.colon_token); - formatter.field("supertraits", &self.supertraits); - formatter.field("brace_token", &self.brace_token); - formatter.field("items", &self.items); - formatter.finish() + impl ItemTrait { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("unsafety", &self.unsafety); + formatter.field("auto_token", &self.auto_token); + formatter.field("restriction", &self.restriction); + formatter.field("trait_token", &self.trait_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("colon_token", &self.colon_token); + formatter.field("supertraits", &self.supertraits); + formatter.field("brace_token", &self.brace_token); + formatter.field("items", &self.items); + formatter.finish() + } + } + self.debug(formatter, "ItemTrait") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemTraitAlias { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemTraitAlias"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("trait_token", &self.trait_token); - formatter.field("ident", &self.ident); - formatter.field("generics", &self.generics); - formatter.field("eq_token", &self.eq_token); - formatter.field("bounds", &self.bounds); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + impl ItemTraitAlias { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("trait_token", &self.trait_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("eq_token", &self.eq_token); + formatter.field("bounds", &self.bounds); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ItemTraitAlias") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemType { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemType"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("type_token", &self.type_token); - formatter.field("ident", &self.ident); - formatter.field("generics", &self.generics); - formatter.field("eq_token", &self.eq_token); - formatter.field("ty", &self.ty); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ItemType { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("type_token", &self.type_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("eq_token", &self.eq_token); + formatter.field("ty", &self.ty); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ItemType") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemUnion { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemUnion"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("union_token", &self.union_token); - formatter.field("ident", &self.ident); - formatter.field("generics", &self.generics); - formatter.field("fields", &self.fields); - formatter.finish() + impl ItemUnion { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("union_token", &self.union_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("fields", &self.fields); + formatter.finish() + } + } + self.debug(formatter, "ItemUnion") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ItemUse { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ItemUse"); - formatter.field("attrs", &self.attrs); - formatter.field("vis", &self.vis); - formatter.field("use_token", &self.use_token); - formatter.field("leading_colon", &self.leading_colon); - formatter.field("tree", &self.tree); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl ItemUse { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("vis", &self.vis); + formatter.field("use_token", &self.use_token); + formatter.field("leading_colon", &self.leading_colon); + formatter.field("tree", &self.tree); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "ItemUse") } } #[cfg(feature = "full")] @@ -1790,17 +1864,22 @@ impl Debug for Label { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Lifetime { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("Lifetime"); - formatter.field("apostrophe", &self.apostrophe); - formatter.field("ident", &self.ident); - formatter.finish() + impl Lifetime { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("apostrophe", &self.apostrophe); + formatter.field("ident", &self.ident); + formatter.finish() + } + } + self.debug(formatter, "Lifetime") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for LifetimeDef { +impl Debug for LifetimeParam { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("LifetimeDef"); + let mut formatter = formatter.debug_struct("LifetimeParam"); formatter.field("attrs", &self.attrs); formatter.field("lifetime", &self.lifetime); formatter.field("colon_token", &self.colon_token); @@ -1811,42 +1890,15 @@ impl Debug for LifetimeDef { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Lit { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("Lit::")?; match self { - Lit::Str(v0) => { - let mut formatter = formatter.debug_tuple("Str"); - formatter.field(v0); - formatter.finish() - } - Lit::ByteStr(v0) => { - let mut formatter = formatter.debug_tuple("ByteStr"); - formatter.field(v0); - formatter.finish() - } - Lit::Byte(v0) => { - let mut formatter = formatter.debug_tuple("Byte"); - formatter.field(v0); - formatter.finish() - } - Lit::Char(v0) => { - let mut formatter = formatter.debug_tuple("Char"); - formatter.field(v0); - formatter.finish() - } - Lit::Int(v0) => { - let mut formatter = formatter.debug_tuple("Int"); - formatter.field(v0); - formatter.finish() - } - Lit::Float(v0) => { - let mut formatter = formatter.debug_tuple("Float"); - formatter.field(v0); - formatter.finish() - } - Lit::Bool(v0) => { - let mut formatter = formatter.debug_tuple("Bool"); - formatter.field(v0); - formatter.finish() - } + Lit::Str(v0) => v0.debug(formatter, "Str"), + Lit::ByteStr(v0) => v0.debug(formatter, "ByteStr"), + Lit::Byte(v0) => v0.debug(formatter, "Byte"), + Lit::Char(v0) => v0.debug(formatter, "Char"), + Lit::Int(v0) => v0.debug(formatter, "Int"), + Lit::Float(v0) => v0.debug(formatter, "Float"), + Lit::Bool(v0) => v0.debug(formatter, "Bool"), Lit::Verbatim(v0) => { let mut formatter = formatter.debug_tuple("Verbatim"); formatter.field(v0); @@ -1859,12 +1911,28 @@ impl Debug for Lit { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Local { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("Local"); - formatter.field("attrs", &self.attrs); - formatter.field("let_token", &self.let_token); - formatter.field("pat", &self.pat); - formatter.field("init", &self.init); - formatter.field("semi_token", &self.semi_token); + impl Local { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("let_token", &self.let_token); + formatter.field("pat", &self.pat); + formatter.field("init", &self.init); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "Local") + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Debug for LocalInit { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + let mut formatter = formatter.debug_struct("LocalInit"); + formatter.field("eq_token", &self.eq_token); + formatter.field("expr", &self.expr); + formatter.field("diverge", &self.diverge); formatter.finish() } } @@ -1884,6 +1952,7 @@ impl Debug for Macro { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for MacroDelimiter { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("MacroDelimiter::")?; match self { MacroDelimiter::Paren(v0) => { let mut formatter = formatter.debug_tuple("Paren"); @@ -1907,6 +1976,7 @@ impl Debug for MacroDelimiter { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Member { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("Member::")?; match self { Member::Named(v0) => { let mut formatter = formatter.debug_tuple("Named"); @@ -1925,22 +1995,11 @@ impl Debug for Member { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Meta { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("Meta::")?; match self { - Meta::Path(v0) => { - let mut formatter = formatter.debug_tuple("Path"); - formatter.field(v0); - formatter.finish() - } - Meta::List(v0) => { - let mut formatter = formatter.debug_tuple("List"); - formatter.field(v0); - formatter.finish() - } - Meta::NameValue(v0) => { - let mut formatter = formatter.debug_tuple("NameValue"); - formatter.field(v0); - formatter.finish() - } + Meta::Path(v0) => v0.debug(formatter, "Path"), + Meta::List(v0) => v0.debug(formatter, "List"), + Meta::NameValue(v0) => v0.debug(formatter, "NameValue"), } } } @@ -1948,349 +2007,287 @@ impl Debug for Meta { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for MetaList { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("MetaList"); - formatter.field("path", &self.path); - formatter.field("paren_token", &self.paren_token); - formatter.field("nested", &self.nested); - formatter.finish() + impl MetaList { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("path", &self.path); + formatter.field("delimiter", &self.delimiter); + formatter.field("tokens", &self.tokens); + formatter.finish() + } + } + self.debug(formatter, "MetaList") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for MetaNameValue { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("MetaNameValue"); - formatter.field("path", &self.path); - formatter.field("eq_token", &self.eq_token); - formatter.field("lit", &self.lit); - formatter.finish() - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for MethodTurbofish { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("MethodTurbofish"); - formatter.field("colon2_token", &self.colon2_token); - formatter.field("lt_token", &self.lt_token); - formatter.field("args", &self.args); - formatter.field("gt_token", &self.gt_token); - formatter.finish() - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for NestedMeta { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - match self { - NestedMeta::Meta(v0) => { - let mut formatter = formatter.debug_tuple("Meta"); - formatter.field(v0); - formatter.finish() - } - NestedMeta::Lit(v0) => { - let mut formatter = formatter.debug_tuple("Lit"); - formatter.field(v0); + impl MetaNameValue { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("path", &self.path); + formatter.field("eq_token", &self.eq_token); + formatter.field("value", &self.value); formatter.finish() } } + self.debug(formatter, "MetaNameValue") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ParenthesizedGenericArguments { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("ParenthesizedGenericArguments"); - formatter.field("paren_token", &self.paren_token); - formatter.field("inputs", &self.inputs); - formatter.field("output", &self.output); - formatter.finish() + impl ParenthesizedGenericArguments { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("paren_token", &self.paren_token); + formatter.field("inputs", &self.inputs); + formatter.field("output", &self.output); + formatter.finish() + } + } + self.debug(formatter, "ParenthesizedGenericArguments") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Pat { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("Pat::")?; match self { - Pat::Box(v0) => { - let mut formatter = formatter.debug_tuple("Box"); - formatter.field(v0); - formatter.finish() - } - Pat::Ident(v0) => { - let mut formatter = formatter.debug_tuple("Ident"); - formatter.field(v0); - formatter.finish() - } - Pat::Lit(v0) => { - let mut formatter = formatter.debug_tuple("Lit"); - formatter.field(v0); - formatter.finish() - } - Pat::Macro(v0) => { - let mut formatter = formatter.debug_tuple("Macro"); - formatter.field(v0); - formatter.finish() - } - Pat::Or(v0) => { - let mut formatter = formatter.debug_tuple("Or"); - formatter.field(v0); - formatter.finish() - } - Pat::Path(v0) => { - let mut formatter = formatter.debug_tuple("Path"); - formatter.field(v0); - formatter.finish() - } - Pat::Range(v0) => { - let mut formatter = formatter.debug_tuple("Range"); - formatter.field(v0); - formatter.finish() - } - Pat::Reference(v0) => { - let mut formatter = formatter.debug_tuple("Reference"); - formatter.field(v0); - formatter.finish() - } - Pat::Rest(v0) => { - let mut formatter = formatter.debug_tuple("Rest"); - formatter.field(v0); - formatter.finish() - } - Pat::Slice(v0) => { - let mut formatter = formatter.debug_tuple("Slice"); - formatter.field(v0); - formatter.finish() - } - Pat::Struct(v0) => { - let mut formatter = formatter.debug_tuple("Struct"); - formatter.field(v0); - formatter.finish() - } - Pat::Tuple(v0) => { - let mut formatter = formatter.debug_tuple("Tuple"); - formatter.field(v0); - formatter.finish() - } - Pat::TupleStruct(v0) => { - let mut formatter = formatter.debug_tuple("TupleStruct"); - formatter.field(v0); - formatter.finish() - } - Pat::Type(v0) => { - let mut formatter = formatter.debug_tuple("Type"); - formatter.field(v0); - formatter.finish() - } + Pat::Const(v0) => v0.debug(formatter, "Const"), + Pat::Ident(v0) => v0.debug(formatter, "Ident"), + Pat::Lit(v0) => v0.debug(formatter, "Lit"), + Pat::Macro(v0) => v0.debug(formatter, "Macro"), + Pat::Or(v0) => v0.debug(formatter, "Or"), + Pat::Paren(v0) => v0.debug(formatter, "Paren"), + Pat::Path(v0) => v0.debug(formatter, "Path"), + Pat::Range(v0) => v0.debug(formatter, "Range"), + Pat::Reference(v0) => v0.debug(formatter, "Reference"), + Pat::Rest(v0) => v0.debug(formatter, "Rest"), + Pat::Slice(v0) => v0.debug(formatter, "Slice"), + Pat::Struct(v0) => v0.debug(formatter, "Struct"), + Pat::Tuple(v0) => v0.debug(formatter, "Tuple"), + Pat::TupleStruct(v0) => v0.debug(formatter, "TupleStruct"), + Pat::Type(v0) => v0.debug(formatter, "Type"), Pat::Verbatim(v0) => { let mut formatter = formatter.debug_tuple("Verbatim"); formatter.field(v0); formatter.finish() } - Pat::Wild(v0) => { - let mut formatter = formatter.debug_tuple("Wild"); - formatter.field(v0); - formatter.finish() - } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), + Pat::Wild(v0) => v0.debug(formatter, "Wild"), } } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for PatBox { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatBox"); - formatter.field("attrs", &self.attrs); - formatter.field("box_token", &self.box_token); - formatter.field("pat", &self.pat); - formatter.finish() - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for PatIdent { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatIdent"); - formatter.field("attrs", &self.attrs); - formatter.field("by_ref", &self.by_ref); - formatter.field("mutability", &self.mutability); - formatter.field("ident", &self.ident); - formatter.field("subpat", &self.subpat); - formatter.finish() - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for PatLit { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatLit"); - formatter.field("attrs", &self.attrs); - formatter.field("expr", &self.expr); - formatter.finish() - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for PatMacro { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatMacro"); - formatter.field("attrs", &self.attrs); - formatter.field("mac", &self.mac); - formatter.finish() + impl PatIdent { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("by_ref", &self.by_ref); + formatter.field("mutability", &self.mutability); + formatter.field("ident", &self.ident); + formatter.field("subpat", &self.subpat); + formatter.finish() + } + } + self.debug(formatter, "PatIdent") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for PatOr { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatOr"); - formatter.field("attrs", &self.attrs); - formatter.field("leading_vert", &self.leading_vert); - formatter.field("cases", &self.cases); - formatter.finish() - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for PatPath { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatPath"); - formatter.field("attrs", &self.attrs); - formatter.field("qself", &self.qself); - formatter.field("path", &self.path); - formatter.finish() + impl PatOr { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("leading_vert", &self.leading_vert); + formatter.field("cases", &self.cases); + formatter.finish() + } + } + self.debug(formatter, "PatOr") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for PatRange { +impl Debug for PatParen { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatRange"); - formatter.field("attrs", &self.attrs); - formatter.field("lo", &self.lo); - formatter.field("limits", &self.limits); - formatter.field("hi", &self.hi); - formatter.finish() + impl PatParen { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("paren_token", &self.paren_token); + formatter.field("pat", &self.pat); + formatter.finish() + } + } + self.debug(formatter, "PatParen") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for PatReference { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatReference"); - formatter.field("attrs", &self.attrs); - formatter.field("and_token", &self.and_token); - formatter.field("mutability", &self.mutability); - formatter.field("pat", &self.pat); - formatter.finish() + impl PatReference { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("and_token", &self.and_token); + formatter.field("mutability", &self.mutability); + formatter.field("pat", &self.pat); + formatter.finish() + } + } + self.debug(formatter, "PatReference") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for PatRest { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatRest"); - formatter.field("attrs", &self.attrs); - formatter.field("dot2_token", &self.dot2_token); - formatter.finish() + impl PatRest { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("dot2_token", &self.dot2_token); + formatter.finish() + } + } + self.debug(formatter, "PatRest") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for PatSlice { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatSlice"); - formatter.field("attrs", &self.attrs); - formatter.field("bracket_token", &self.bracket_token); - formatter.field("elems", &self.elems); - formatter.finish() + impl PatSlice { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("bracket_token", &self.bracket_token); + formatter.field("elems", &self.elems); + formatter.finish() + } + } + self.debug(formatter, "PatSlice") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for PatStruct { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatStruct"); - formatter.field("attrs", &self.attrs); - formatter.field("path", &self.path); - formatter.field("brace_token", &self.brace_token); - formatter.field("fields", &self.fields); - formatter.field("dot2_token", &self.dot2_token); - formatter.finish() + impl PatStruct { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("qself", &self.qself); + formatter.field("path", &self.path); + formatter.field("brace_token", &self.brace_token); + formatter.field("fields", &self.fields); + formatter.field("rest", &self.rest); + formatter.finish() + } + } + self.debug(formatter, "PatStruct") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for PatTuple { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatTuple"); - formatter.field("attrs", &self.attrs); - formatter.field("paren_token", &self.paren_token); - formatter.field("elems", &self.elems); - formatter.finish() + impl PatTuple { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("paren_token", &self.paren_token); + formatter.field("elems", &self.elems); + formatter.finish() + } + } + self.debug(formatter, "PatTuple") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for PatTupleStruct { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatTupleStruct"); - formatter.field("attrs", &self.attrs); - formatter.field("path", &self.path); - formatter.field("pat", &self.pat); - formatter.finish() + impl PatTupleStruct { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("qself", &self.qself); + formatter.field("path", &self.path); + formatter.field("paren_token", &self.paren_token); + formatter.field("elems", &self.elems); + formatter.finish() + } + } + self.debug(formatter, "PatTupleStruct") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for PatType { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatType"); - formatter.field("attrs", &self.attrs); - formatter.field("pat", &self.pat); - formatter.field("colon_token", &self.colon_token); - formatter.field("ty", &self.ty); - formatter.finish() +impl Debug for PatType { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + impl PatType { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("pat", &self.pat); + formatter.field("colon_token", &self.colon_token); + formatter.field("ty", &self.ty); + formatter.finish() + } + } + self.debug(formatter, "PatType") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for PatWild { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PatWild"); - formatter.field("attrs", &self.attrs); - formatter.field("underscore_token", &self.underscore_token); - formatter.finish() + impl PatWild { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("underscore_token", &self.underscore_token); + formatter.finish() + } + } + self.debug(formatter, "PatWild") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Path { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("Path"); - formatter.field("leading_colon", &self.leading_colon); - formatter.field("segments", &self.segments); - formatter.finish() + impl Path { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("leading_colon", &self.leading_colon); + formatter.field("segments", &self.segments); + formatter.finish() + } + } + self.debug(formatter, "Path") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for PathArguments { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("PathArguments::")?; match self { PathArguments::None => formatter.write_str("None"), - PathArguments::AngleBracketed(v0) => { - let mut formatter = formatter.debug_tuple("AngleBracketed"); - formatter.field(v0); - formatter.finish() - } - PathArguments::Parenthesized(v0) => { - let mut formatter = formatter.debug_tuple("Parenthesized"); - formatter.field(v0); - formatter.finish() - } + PathArguments::AngleBracketed(v0) => v0.debug(formatter, "AngleBracketed"), + PathArguments::Parenthesized(v0) => v0.debug(formatter, "Parenthesized"), } } } @@ -2306,17 +2303,6 @@ impl Debug for PathSegment { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for PredicateEq { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("PredicateEq"); - formatter.field("lhs_ty", &self.lhs_ty); - formatter.field("eq_token", &self.eq_token); - formatter.field("rhs_ty", &self.rhs_ty); - formatter.finish() - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for PredicateLifetime { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { let mut formatter = formatter.debug_struct("PredicateLifetime"); @@ -2355,6 +2341,7 @@ impl Debug for QSelf { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for RangeLimits { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("RangeLimits::")?; match self { RangeLimits::HalfOpen(v0) => { let mut formatter = formatter.debug_tuple("HalfOpen"); @@ -2378,6 +2365,8 @@ impl Debug for Receiver { formatter.field("reference", &self.reference); formatter.field("mutability", &self.mutability); formatter.field("self_token", &self.self_token); + formatter.field("colon_token", &self.colon_token); + formatter.field("ty", &self.ty); formatter.finish() } } @@ -2385,6 +2374,7 @@ impl Debug for Receiver { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for ReturnType { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("ReturnType::")?; match self { ReturnType::Default => formatter.write_str("Default"), ReturnType::Type(v0, v1) => { @@ -2417,31 +2407,55 @@ impl Debug for Signature { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for Stmt { +impl Debug for StaticMutability { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("StaticMutability::")?; match self { - Stmt::Local(v0) => { - let mut formatter = formatter.debug_tuple("Local"); + StaticMutability::Mut(v0) => { + let mut formatter = formatter.debug_tuple("Mut"); formatter.field(v0); formatter.finish() } + StaticMutability::None => formatter.write_str("None"), + } + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Debug for Stmt { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("Stmt::")?; + match self { + Stmt::Local(v0) => v0.debug(formatter, "Local"), Stmt::Item(v0) => { let mut formatter = formatter.debug_tuple("Item"); formatter.field(v0); formatter.finish() } - Stmt::Expr(v0) => { + Stmt::Expr(v0, v1) => { let mut formatter = formatter.debug_tuple("Expr"); formatter.field(v0); + formatter.field(v1); formatter.finish() } - Stmt::Semi(v0, v1) => { - let mut formatter = formatter.debug_tuple("Semi"); - formatter.field(v0); - formatter.field(v1); + Stmt::Macro(v0) => v0.debug(formatter, "Macro"), + } + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Debug for StmtMacro { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + impl StmtMacro { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("mac", &self.mac); + formatter.field("semi_token", &self.semi_token); formatter.finish() } } + self.debug(formatter, "StmtMacro") } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2460,6 +2474,7 @@ impl Debug for TraitBound { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TraitBoundModifier { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("TraitBoundModifier::")?; match self { TraitBoundModifier::None => formatter.write_str("None"), TraitBoundModifier::Maybe(v0) => { @@ -2474,34 +2489,17 @@ impl Debug for TraitBoundModifier { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TraitItem { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("TraitItem::")?; match self { - TraitItem::Const(v0) => { - let mut formatter = formatter.debug_tuple("Const"); - formatter.field(v0); - formatter.finish() - } - TraitItem::Method(v0) => { - let mut formatter = formatter.debug_tuple("Method"); - formatter.field(v0); - formatter.finish() - } - TraitItem::Type(v0) => { - let mut formatter = formatter.debug_tuple("Type"); - formatter.field(v0); - formatter.finish() - } - TraitItem::Macro(v0) => { - let mut formatter = formatter.debug_tuple("Macro"); - formatter.field(v0); - formatter.finish() - } + TraitItem::Const(v0) => v0.debug(formatter, "Const"), + TraitItem::Fn(v0) => v0.debug(formatter, "Fn"), + TraitItem::Type(v0) => v0.debug(formatter, "Type"), + TraitItem::Macro(v0) => v0.debug(formatter, "Macro"), TraitItem::Verbatim(v0) => { let mut formatter = formatter.debug_tuple("Verbatim"); formatter.field(v0); formatter.finish() } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -2509,138 +2507,102 @@ impl Debug for TraitItem { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TraitItemConst { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TraitItemConst"); - formatter.field("attrs", &self.attrs); - formatter.field("const_token", &self.const_token); - formatter.field("ident", &self.ident); - formatter.field("colon_token", &self.colon_token); - formatter.field("ty", &self.ty); - formatter.field("default", &self.default); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl TraitItemConst { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("const_token", &self.const_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("colon_token", &self.colon_token); + formatter.field("ty", &self.ty); + formatter.field("default", &self.default); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "TraitItemConst") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for TraitItemMacro { +impl Debug for TraitItemFn { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TraitItemMacro"); - formatter.field("attrs", &self.attrs); - formatter.field("mac", &self.mac); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl TraitItemFn { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("sig", &self.sig); + formatter.field("default", &self.default); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "TraitItemFn") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for TraitItemMethod { +impl Debug for TraitItemMacro { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TraitItemMethod"); - formatter.field("attrs", &self.attrs); - formatter.field("sig", &self.sig); - formatter.field("default", &self.default); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl TraitItemMacro { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("mac", &self.mac); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "TraitItemMacro") } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TraitItemType { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TraitItemType"); - formatter.field("attrs", &self.attrs); - formatter.field("type_token", &self.type_token); - formatter.field("ident", &self.ident); - formatter.field("generics", &self.generics); - formatter.field("colon_token", &self.colon_token); - formatter.field("bounds", &self.bounds); - formatter.field("default", &self.default); - formatter.field("semi_token", &self.semi_token); - formatter.finish() + impl TraitItemType { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("attrs", &self.attrs); + formatter.field("type_token", &self.type_token); + formatter.field("ident", &self.ident); + formatter.field("generics", &self.generics); + formatter.field("colon_token", &self.colon_token); + formatter.field("bounds", &self.bounds); + formatter.field("default", &self.default); + formatter.field("semi_token", &self.semi_token); + formatter.finish() + } + } + self.debug(formatter, "TraitItemType") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Type { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("Type::")?; match self { - Type::Array(v0) => { - let mut formatter = formatter.debug_tuple("Array"); - formatter.field(v0); - formatter.finish() - } - Type::BareFn(v0) => { - let mut formatter = formatter.debug_tuple("BareFn"); - formatter.field(v0); - formatter.finish() - } - Type::Group(v0) => { - let mut formatter = formatter.debug_tuple("Group"); - formatter.field(v0); - formatter.finish() - } - Type::ImplTrait(v0) => { - let mut formatter = formatter.debug_tuple("ImplTrait"); - formatter.field(v0); - formatter.finish() - } - Type::Infer(v0) => { - let mut formatter = formatter.debug_tuple("Infer"); - formatter.field(v0); - formatter.finish() - } - Type::Macro(v0) => { - let mut formatter = formatter.debug_tuple("Macro"); - formatter.field(v0); - formatter.finish() - } - Type::Never(v0) => { - let mut formatter = formatter.debug_tuple("Never"); - formatter.field(v0); - formatter.finish() - } - Type::Paren(v0) => { - let mut formatter = formatter.debug_tuple("Paren"); - formatter.field(v0); - formatter.finish() - } - Type::Path(v0) => { - let mut formatter = formatter.debug_tuple("Path"); - formatter.field(v0); - formatter.finish() - } - Type::Ptr(v0) => { - let mut formatter = formatter.debug_tuple("Ptr"); - formatter.field(v0); - formatter.finish() - } - Type::Reference(v0) => { - let mut formatter = formatter.debug_tuple("Reference"); - formatter.field(v0); - formatter.finish() - } - Type::Slice(v0) => { - let mut formatter = formatter.debug_tuple("Slice"); - formatter.field(v0); - formatter.finish() - } - Type::TraitObject(v0) => { - let mut formatter = formatter.debug_tuple("TraitObject"); - formatter.field(v0); - formatter.finish() - } - Type::Tuple(v0) => { - let mut formatter = formatter.debug_tuple("Tuple"); - formatter.field(v0); - formatter.finish() - } + Type::Array(v0) => v0.debug(formatter, "Array"), + Type::BareFn(v0) => v0.debug(formatter, "BareFn"), + Type::Group(v0) => v0.debug(formatter, "Group"), + Type::ImplTrait(v0) => v0.debug(formatter, "ImplTrait"), + Type::Infer(v0) => v0.debug(formatter, "Infer"), + Type::Macro(v0) => v0.debug(formatter, "Macro"), + Type::Never(v0) => v0.debug(formatter, "Never"), + Type::Paren(v0) => v0.debug(formatter, "Paren"), + Type::Path(v0) => v0.debug(formatter, "Path"), + Type::Ptr(v0) => v0.debug(formatter, "Ptr"), + Type::Reference(v0) => v0.debug(formatter, "Reference"), + Type::Slice(v0) => v0.debug(formatter, "Slice"), + Type::TraitObject(v0) => v0.debug(formatter, "TraitObject"), + Type::Tuple(v0) => v0.debug(formatter, "Tuple"), Type::Verbatim(v0) => { let mut formatter = formatter.debug_tuple("Verbatim"); formatter.field(v0); formatter.finish() } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -2648,75 +2610,110 @@ impl Debug for Type { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeArray { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeArray"); - formatter.field("bracket_token", &self.bracket_token); - formatter.field("elem", &self.elem); - formatter.field("semi_token", &self.semi_token); - formatter.field("len", &self.len); - formatter.finish() + impl TypeArray { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("bracket_token", &self.bracket_token); + formatter.field("elem", &self.elem); + formatter.field("semi_token", &self.semi_token); + formatter.field("len", &self.len); + formatter.finish() + } + } + self.debug(formatter, "TypeArray") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeBareFn { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeBareFn"); - formatter.field("lifetimes", &self.lifetimes); - formatter.field("unsafety", &self.unsafety); - formatter.field("abi", &self.abi); - formatter.field("fn_token", &self.fn_token); - formatter.field("paren_token", &self.paren_token); - formatter.field("inputs", &self.inputs); - formatter.field("variadic", &self.variadic); - formatter.field("output", &self.output); - formatter.finish() + impl TypeBareFn { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("lifetimes", &self.lifetimes); + formatter.field("unsafety", &self.unsafety); + formatter.field("abi", &self.abi); + formatter.field("fn_token", &self.fn_token); + formatter.field("paren_token", &self.paren_token); + formatter.field("inputs", &self.inputs); + formatter.field("variadic", &self.variadic); + formatter.field("output", &self.output); + formatter.finish() + } + } + self.debug(formatter, "TypeBareFn") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeGroup { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeGroup"); - formatter.field("group_token", &self.group_token); - formatter.field("elem", &self.elem); - formatter.finish() + impl TypeGroup { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("group_token", &self.group_token); + formatter.field("elem", &self.elem); + formatter.finish() + } + } + self.debug(formatter, "TypeGroup") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeImplTrait { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeImplTrait"); - formatter.field("impl_token", &self.impl_token); - formatter.field("bounds", &self.bounds); - formatter.finish() + impl TypeImplTrait { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("impl_token", &self.impl_token); + formatter.field("bounds", &self.bounds); + formatter.finish() + } + } + self.debug(formatter, "TypeImplTrait") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeInfer { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeInfer"); - formatter.field("underscore_token", &self.underscore_token); - formatter.finish() + impl TypeInfer { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("underscore_token", &self.underscore_token); + formatter.finish() + } + } + self.debug(formatter, "TypeInfer") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeMacro { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeMacro"); - formatter.field("mac", &self.mac); - formatter.finish() + impl TypeMacro { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("mac", &self.mac); + formatter.finish() + } + } + self.debug(formatter, "TypeMacro") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeNever { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeNever"); - formatter.field("bang_token", &self.bang_token); - formatter.finish() + impl TypeNever { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("bang_token", &self.bang_token); + formatter.finish() + } + } + self.debug(formatter, "TypeNever") } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2737,14 +2734,16 @@ impl Debug for TypeParam { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeParamBound { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("TypeParamBound::")?; match self { TypeParamBound::Trait(v0) => { let mut formatter = formatter.debug_tuple("Trait"); formatter.field(v0); formatter.finish() } - TypeParamBound::Lifetime(v0) => { - let mut formatter = formatter.debug_tuple("Lifetime"); + TypeParamBound::Lifetime(v0) => v0.debug(formatter, "Lifetime"), + TypeParamBound::Verbatim(v0) => { + let mut formatter = formatter.debug_tuple("Verbatim"); formatter.field(v0); formatter.finish() } @@ -2755,80 +2754,116 @@ impl Debug for TypeParamBound { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeParen { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeParen"); - formatter.field("paren_token", &self.paren_token); - formatter.field("elem", &self.elem); - formatter.finish() + impl TypeParen { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("paren_token", &self.paren_token); + formatter.field("elem", &self.elem); + formatter.finish() + } + } + self.debug(formatter, "TypeParen") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypePath { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypePath"); - formatter.field("qself", &self.qself); - formatter.field("path", &self.path); - formatter.finish() + impl TypePath { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("qself", &self.qself); + formatter.field("path", &self.path); + formatter.finish() + } + } + self.debug(formatter, "TypePath") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypePtr { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypePtr"); - formatter.field("star_token", &self.star_token); - formatter.field("const_token", &self.const_token); - formatter.field("mutability", &self.mutability); - formatter.field("elem", &self.elem); - formatter.finish() + impl TypePtr { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("star_token", &self.star_token); + formatter.field("const_token", &self.const_token); + formatter.field("mutability", &self.mutability); + formatter.field("elem", &self.elem); + formatter.finish() + } + } + self.debug(formatter, "TypePtr") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeReference { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeReference"); - formatter.field("and_token", &self.and_token); - formatter.field("lifetime", &self.lifetime); - formatter.field("mutability", &self.mutability); - formatter.field("elem", &self.elem); - formatter.finish() + impl TypeReference { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("and_token", &self.and_token); + formatter.field("lifetime", &self.lifetime); + formatter.field("mutability", &self.mutability); + formatter.field("elem", &self.elem); + formatter.finish() + } + } + self.debug(formatter, "TypeReference") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeSlice { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeSlice"); - formatter.field("bracket_token", &self.bracket_token); - formatter.field("elem", &self.elem); - formatter.finish() + impl TypeSlice { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("bracket_token", &self.bracket_token); + formatter.field("elem", &self.elem); + formatter.finish() + } + } + self.debug(formatter, "TypeSlice") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeTraitObject { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeTraitObject"); - formatter.field("dyn_token", &self.dyn_token); - formatter.field("bounds", &self.bounds); - formatter.finish() + impl TypeTraitObject { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("dyn_token", &self.dyn_token); + formatter.field("bounds", &self.bounds); + formatter.finish() + } + } + self.debug(formatter, "TypeTraitObject") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for TypeTuple { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("TypeTuple"); - formatter.field("paren_token", &self.paren_token); - formatter.field("elems", &self.elems); - formatter.finish() + impl TypeTuple { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("paren_token", &self.paren_token); + formatter.field("elems", &self.elems); + formatter.finish() + } + } + self.debug(formatter, "TypeTuple") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for UnOp { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("UnOp::")?; match self { UnOp::Deref(v0) => { let mut formatter = formatter.debug_tuple("Deref"); @@ -2902,6 +2937,7 @@ impl Debug for UseRename { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for UseTree { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("UseTree::")?; match self { UseTree::Path(v0) => { let mut formatter = formatter.debug_tuple("Path"); @@ -2931,13 +2967,15 @@ impl Debug for UseTree { } } } -#[cfg(any(feature = "derive", feature = "full"))] +#[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Variadic { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { let mut formatter = formatter.debug_struct("Variadic"); formatter.field("attrs", &self.attrs); + formatter.field("pat", &self.pat); formatter.field("dots", &self.dots); + formatter.field("comma", &self.comma); formatter.finish() } } @@ -2955,54 +2993,33 @@ impl Debug for Variant { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for VisCrate { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("VisCrate"); - formatter.field("crate_token", &self.crate_token); - formatter.finish() - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Debug for VisPublic { - fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("VisPublic"); - formatter.field("pub_token", &self.pub_token); - formatter.finish() - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for VisRestricted { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - let mut formatter = formatter.debug_struct("VisRestricted"); - formatter.field("pub_token", &self.pub_token); - formatter.field("paren_token", &self.paren_token); - formatter.field("in_token", &self.in_token); - formatter.field("path", &self.path); - formatter.finish() + impl VisRestricted { + fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result { + let mut formatter = formatter.debug_struct(name); + formatter.field("pub_token", &self.pub_token); + formatter.field("paren_token", &self.paren_token); + formatter.field("in_token", &self.in_token); + formatter.field("path", &self.path); + formatter.finish() + } + } + self.debug(formatter, "VisRestricted") } } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for Visibility { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("Visibility::")?; match self { Visibility::Public(v0) => { let mut formatter = formatter.debug_tuple("Public"); formatter.field(v0); formatter.finish() } - Visibility::Crate(v0) => { - let mut formatter = formatter.debug_tuple("Crate"); - formatter.field(v0); - formatter.finish() - } - Visibility::Restricted(v0) => { - let mut formatter = formatter.debug_tuple("Restricted"); - formatter.field(v0); - formatter.finish() - } + Visibility::Restricted(v0) => v0.debug(formatter, "Restricted"), Visibility::Inherited => formatter.write_str("Inherited"), } } @@ -3021,19 +3038,15 @@ impl Debug for WhereClause { #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Debug for WherePredicate { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + formatter.write_str("WherePredicate::")?; match self { - WherePredicate::Type(v0) => { - let mut formatter = formatter.debug_tuple("Type"); - formatter.field(v0); - formatter.finish() - } WherePredicate::Lifetime(v0) => { let mut formatter = formatter.debug_tuple("Lifetime"); formatter.field(v0); formatter.finish() } - WherePredicate::Eq(v0) => { - let mut formatter = formatter.debug_tuple("Eq"); + WherePredicate::Type(v0) => { + let mut formatter = formatter.debug_tuple("Type"); formatter.field(v0); formatter.finish() } diff --git a/vendor/syn/src/gen/eq.rs b/vendor/syn/src/gen/eq.rs index 20acb809d..a7479c300 100644 --- a/vendor/syn/src/gen/eq.rs +++ b/vendor/syn/src/gen/eq.rs @@ -37,6 +37,28 @@ impl PartialEq for Arm { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Eq for AssocConst {} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl PartialEq for AssocConst { + fn eq(&self, other: &Self) -> bool { + self.ident == other.ident && self.generics == other.generics + && self.value == other.value + } +} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Eq for AssocType {} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl PartialEq for AssocType { + fn eq(&self, other: &Self) -> bool { + self.ident == other.ident && self.generics == other.generics + && self.ty == other.ty + } +} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for AttrStyle {} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -56,8 +78,7 @@ impl Eq for Attribute {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for Attribute { fn eq(&self, other: &Self) -> bool { - self.style == other.style && self.path == other.path - && TokenStreamHelper(&self.tokens) == TokenStreamHelper(&other.tokens) + self.style == other.style && self.meta == other.meta } } #[cfg(any(feature = "derive", feature = "full"))] @@ -72,6 +93,16 @@ impl PartialEq for BareFnArg { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Eq for BareVariadic {} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl PartialEq for BareVariadic { + fn eq(&self, other: &Self) -> bool { + self.attrs == other.attrs && self.name == other.name && self.comma == other.comma + } +} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for BinOp {} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -96,30 +127,20 @@ impl PartialEq for BinOp { (BinOp::Ne(_), BinOp::Ne(_)) => true, (BinOp::Ge(_), BinOp::Ge(_)) => true, (BinOp::Gt(_), BinOp::Gt(_)) => true, - (BinOp::AddEq(_), BinOp::AddEq(_)) => true, - (BinOp::SubEq(_), BinOp::SubEq(_)) => true, - (BinOp::MulEq(_), BinOp::MulEq(_)) => true, - (BinOp::DivEq(_), BinOp::DivEq(_)) => true, - (BinOp::RemEq(_), BinOp::RemEq(_)) => true, - (BinOp::BitXorEq(_), BinOp::BitXorEq(_)) => true, - (BinOp::BitAndEq(_), BinOp::BitAndEq(_)) => true, - (BinOp::BitOrEq(_), BinOp::BitOrEq(_)) => true, - (BinOp::ShlEq(_), BinOp::ShlEq(_)) => true, - (BinOp::ShrEq(_), BinOp::ShrEq(_)) => true, + (BinOp::AddAssign(_), BinOp::AddAssign(_)) => true, + (BinOp::SubAssign(_), BinOp::SubAssign(_)) => true, + (BinOp::MulAssign(_), BinOp::MulAssign(_)) => true, + (BinOp::DivAssign(_), BinOp::DivAssign(_)) => true, + (BinOp::RemAssign(_), BinOp::RemAssign(_)) => true, + (BinOp::BitXorAssign(_), BinOp::BitXorAssign(_)) => true, + (BinOp::BitAndAssign(_), BinOp::BitAndAssign(_)) => true, + (BinOp::BitOrAssign(_), BinOp::BitOrAssign(_)) => true, + (BinOp::ShlAssign(_), BinOp::ShlAssign(_)) => true, + (BinOp::ShrAssign(_), BinOp::ShrAssign(_)) => true, _ => false, } } } -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for Binding {} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for Binding { - fn eq(&self, other: &Self) -> bool { - self.ident == other.ident && self.ty == other.ty - } -} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for Block {} @@ -158,7 +179,8 @@ impl Eq for Constraint {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for Constraint { fn eq(&self, other: &Self) -> bool { - self.ident == other.ident && self.bounds == other.bounds + self.ident == other.ident && self.generics == other.generics + && self.bounds == other.bounds } } #[cfg(feature = "derive")] @@ -230,8 +252,6 @@ impl PartialEq for Expr { #[cfg(feature = "full")] (Expr::Assign(self0), Expr::Assign(other0)) => self0 == other0, #[cfg(feature = "full")] - (Expr::AssignOp(self0), Expr::AssignOp(other0)) => self0 == other0, - #[cfg(feature = "full")] (Expr::Async(self0), Expr::Async(other0)) => self0 == other0, #[cfg(feature = "full")] (Expr::Await(self0), Expr::Await(other0)) => self0 == other0, @@ -239,29 +259,29 @@ impl PartialEq for Expr { #[cfg(feature = "full")] (Expr::Block(self0), Expr::Block(other0)) => self0 == other0, #[cfg(feature = "full")] - (Expr::Box(self0), Expr::Box(other0)) => self0 == other0, - #[cfg(feature = "full")] (Expr::Break(self0), Expr::Break(other0)) => self0 == other0, (Expr::Call(self0), Expr::Call(other0)) => self0 == other0, (Expr::Cast(self0), Expr::Cast(other0)) => self0 == other0, #[cfg(feature = "full")] (Expr::Closure(self0), Expr::Closure(other0)) => self0 == other0, #[cfg(feature = "full")] + (Expr::Const(self0), Expr::Const(other0)) => self0 == other0, + #[cfg(feature = "full")] (Expr::Continue(self0), Expr::Continue(other0)) => self0 == other0, (Expr::Field(self0), Expr::Field(other0)) => self0 == other0, #[cfg(feature = "full")] (Expr::ForLoop(self0), Expr::ForLoop(other0)) => self0 == other0, - #[cfg(feature = "full")] (Expr::Group(self0), Expr::Group(other0)) => self0 == other0, #[cfg(feature = "full")] (Expr::If(self0), Expr::If(other0)) => self0 == other0, (Expr::Index(self0), Expr::Index(other0)) => self0 == other0, #[cfg(feature = "full")] + (Expr::Infer(self0), Expr::Infer(other0)) => self0 == other0, + #[cfg(feature = "full")] (Expr::Let(self0), Expr::Let(other0)) => self0 == other0, (Expr::Lit(self0), Expr::Lit(other0)) => self0 == other0, #[cfg(feature = "full")] (Expr::Loop(self0), Expr::Loop(other0)) => self0 == other0, - #[cfg(feature = "full")] (Expr::Macro(self0), Expr::Macro(other0)) => self0 == other0, #[cfg(feature = "full")] (Expr::Match(self0), Expr::Match(other0)) => self0 == other0, @@ -285,8 +305,6 @@ impl PartialEq for Expr { (Expr::TryBlock(self0), Expr::TryBlock(other0)) => self0 == other0, #[cfg(feature = "full")] (Expr::Tuple(self0), Expr::Tuple(other0)) => self0 == other0, - #[cfg(feature = "full")] - (Expr::Type(self0), Expr::Type(other0)) => self0 == other0, (Expr::Unary(self0), Expr::Unary(other0)) => self0 == other0, #[cfg(feature = "full")] (Expr::Unsafe(self0), Expr::Unsafe(other0)) => self0 == other0, @@ -323,17 +341,6 @@ impl PartialEq for ExprAssign { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for ExprAssignOp {} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for ExprAssignOp { - fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.left == other.left && self.op == other.op - && self.right == other.right - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for ExprAsync {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -377,16 +384,6 @@ impl PartialEq for ExprBlock { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for ExprBox {} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for ExprBox { - fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.expr == other.expr - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for ExprBreak {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -422,7 +419,8 @@ impl Eq for ExprClosure {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for ExprClosure { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.movability == other.movability + self.attrs == other.attrs && self.lifetimes == other.lifetimes + && self.constness == other.constness && self.movability == other.movability && self.asyncness == other.asyncness && self.capture == other.capture && self.inputs == other.inputs && self.output == other.output && self.body == other.body @@ -430,6 +428,16 @@ impl PartialEq for ExprClosure { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Eq for ExprConst {} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl PartialEq for ExprConst { + fn eq(&self, other: &Self) -> bool { + self.attrs == other.attrs && self.block == other.block + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for ExprContinue {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -460,10 +468,10 @@ impl PartialEq for ExprForLoop { && self.expr == other.expr && self.body == other.body } } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for ExprGroup {} -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for ExprGroup { fn eq(&self, other: &Self) -> bool { @@ -494,6 +502,16 @@ impl PartialEq for ExprIndex { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Eq for ExprInfer {} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl PartialEq for ExprInfer { + fn eq(&self, other: &Self) -> bool { + self.attrs == other.attrs + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for ExprLet {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -522,10 +540,10 @@ impl PartialEq for ExprLoop { self.attrs == other.attrs && self.label == other.label && self.body == other.body } } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for ExprMacro {} -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for ExprMacro { fn eq(&self, other: &Self) -> bool { @@ -581,8 +599,8 @@ impl Eq for ExprRange {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for ExprRange { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.from == other.from - && self.limits == other.limits && self.to == other.to + self.attrs == other.attrs && self.start == other.start + && self.limits == other.limits && self.end == other.end } } #[cfg(feature = "full")] @@ -623,7 +641,7 @@ impl Eq for ExprStruct {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for ExprStruct { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.path == other.path + self.attrs == other.attrs && self.qself == other.qself && self.path == other.path && self.fields == other.fields && self.dot2_token == other.dot2_token && self.rest == other.rest } @@ -658,16 +676,6 @@ impl PartialEq for ExprTuple { self.attrs == other.attrs && self.elems == other.elems } } -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for ExprType {} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for ExprType { - fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.expr == other.expr && self.ty == other.ty - } -} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for ExprUnary {} @@ -716,10 +724,23 @@ impl Eq for Field {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for Field { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident + self.attrs == other.attrs && self.vis == other.vis + && self.mutability == other.mutability && self.ident == other.ident && self.colon_token == other.colon_token && self.ty == other.ty } } +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Eq for FieldMutability {} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl PartialEq for FieldMutability { + fn eq(&self, other: &Self) -> bool { + match (self, other) { + (FieldMutability::None, FieldMutability::None) => true, + } + } +} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for FieldPat {} @@ -862,6 +883,7 @@ impl Eq for ForeignItemType {} impl PartialEq for ForeignItemType { fn eq(&self, other: &Self) -> bool { self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident + && self.generics == other.generics } } #[cfg(any(feature = "derive", feature = "full"))] @@ -881,31 +903,15 @@ impl PartialEq for GenericArgument { (GenericArgument::Const(self0), GenericArgument::Const(other0)) => { self0 == other0 } - (GenericArgument::Binding(self0), GenericArgument::Binding(other0)) => { + (GenericArgument::AssocType(self0), GenericArgument::AssocType(other0)) => { self0 == other0 } - (GenericArgument::Constraint(self0), GenericArgument::Constraint(other0)) => { + (GenericArgument::AssocConst(self0), GenericArgument::AssocConst(other0)) => { self0 == other0 } - _ => false, - } - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for GenericMethodArgument {} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for GenericMethodArgument { - fn eq(&self, other: &Self) -> bool { - match (self, other) { - (GenericMethodArgument::Type(self0), GenericMethodArgument::Type(other0)) => { + (GenericArgument::Constraint(self0), GenericArgument::Constraint(other0)) => { self0 == other0 } - ( - GenericMethodArgument::Const(self0), - GenericMethodArgument::Const(other0), - ) => self0 == other0, _ => false, } } @@ -918,10 +924,10 @@ impl Eq for GenericParam {} impl PartialEq for GenericParam { fn eq(&self, other: &Self) -> bool { match (self, other) { - (GenericParam::Type(self0), GenericParam::Type(other0)) => self0 == other0, (GenericParam::Lifetime(self0), GenericParam::Lifetime(other0)) => { self0 == other0 } + (GenericParam::Type(self0), GenericParam::Type(other0)) => self0 == other0, (GenericParam::Const(self0), GenericParam::Const(other0)) => self0 == other0, _ => false, } @@ -947,7 +953,7 @@ impl PartialEq for ImplItem { fn eq(&self, other: &Self) -> bool { match (self, other) { (ImplItem::Const(self0), ImplItem::Const(other0)) => self0 == other0, - (ImplItem::Method(self0), ImplItem::Method(other0)) => self0 == other0, + (ImplItem::Fn(self0), ImplItem::Fn(other0)) => self0 == other0, (ImplItem::Type(self0), ImplItem::Type(other0)) => self0 == other0, (ImplItem::Macro(self0), ImplItem::Macro(other0)) => self0 == other0, (ImplItem::Verbatim(self0), ImplItem::Verbatim(other0)) => { @@ -966,30 +972,31 @@ impl PartialEq for ImplItemConst { fn eq(&self, other: &Self) -> bool { self.attrs == other.attrs && self.vis == other.vis && self.defaultness == other.defaultness && self.ident == other.ident - && self.ty == other.ty && self.expr == other.expr + && self.generics == other.generics && self.ty == other.ty + && self.expr == other.expr } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for ImplItemMacro {} +impl Eq for ImplItemFn {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for ImplItemMacro { +impl PartialEq for ImplItemFn { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.mac == other.mac - && self.semi_token == other.semi_token + self.attrs == other.attrs && self.vis == other.vis + && self.defaultness == other.defaultness && self.sig == other.sig + && self.block == other.block } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for ImplItemMethod {} +impl Eq for ImplItemMacro {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for ImplItemMethod { +impl PartialEq for ImplItemMacro { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.vis == other.vis - && self.defaultness == other.defaultness && self.sig == other.sig - && self.block == other.block + self.attrs == other.attrs && self.mac == other.mac + && self.semi_token == other.semi_token } } #[cfg(feature = "full")] @@ -1006,6 +1013,16 @@ impl PartialEq for ImplItemType { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Eq for ImplRestriction {} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl PartialEq for ImplRestriction { + fn eq(&self, _other: &Self) -> bool { + match *self {} + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for Item {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -1019,7 +1036,6 @@ impl PartialEq for Item { (Item::ForeignMod(self0), Item::ForeignMod(other0)) => self0 == other0, (Item::Impl(self0), Item::Impl(other0)) => self0 == other0, (Item::Macro(self0), Item::Macro(other0)) => self0 == other0, - (Item::Macro2(self0), Item::Macro2(other0)) => self0 == other0, (Item::Mod(self0), Item::Mod(other0)) => self0 == other0, (Item::Static(self0), Item::Static(other0)) => self0 == other0, (Item::Struct(self0), Item::Struct(other0)) => self0 == other0, @@ -1043,7 +1059,8 @@ impl Eq for ItemConst {} impl PartialEq for ItemConst { fn eq(&self, other: &Self) -> bool { self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident - && self.ty == other.ty && self.expr == other.expr + && self.generics == other.generics && self.ty == other.ty + && self.expr == other.expr } } #[cfg(feature = "full")] @@ -1086,7 +1103,8 @@ impl Eq for ItemForeignMod {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for ItemForeignMod { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.abi == other.abi && self.items == other.items + self.attrs == other.attrs && self.unsafety == other.unsafety + && self.abi == other.abi && self.items == other.items } } #[cfg(feature = "full")] @@ -1115,23 +1133,13 @@ impl PartialEq for ItemMacro { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for ItemMacro2 {} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for ItemMacro2 { - fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident - && TokenStreamHelper(&self.rules) == TokenStreamHelper(&other.rules) - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for ItemMod {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for ItemMod { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident + self.attrs == other.attrs && self.vis == other.vis + && self.unsafety == other.unsafety && self.ident == other.ident && self.content == other.content && self.semi == other.semi } } @@ -1168,8 +1176,8 @@ impl PartialEq for ItemTrait { fn eq(&self, other: &Self) -> bool { self.attrs == other.attrs && self.vis == other.vis && self.unsafety == other.unsafety && self.auto_token == other.auto_token - && self.ident == other.ident && self.generics == other.generics - && self.colon_token == other.colon_token + && self.restriction == other.restriction && self.ident == other.ident + && self.generics == other.generics && self.colon_token == other.colon_token && self.supertraits == other.supertraits && self.items == other.items } } @@ -1229,10 +1237,10 @@ impl PartialEq for Label { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for LifetimeDef {} +impl Eq for LifetimeParam {} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for LifetimeDef { +impl PartialEq for LifetimeParam { fn eq(&self, other: &Self) -> bool { self.attrs == other.attrs && self.lifetime == other.lifetime && self.colon_token == other.colon_token && self.bounds == other.bounds @@ -1288,6 +1296,16 @@ impl PartialEq for Local { self.attrs == other.attrs && self.pat == other.pat && self.init == other.init } } +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Eq for LocalInit {} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl PartialEq for LocalInit { + fn eq(&self, other: &Self) -> bool { + self.expr == other.expr && self.diverge == other.diverge + } +} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for Macro {} @@ -1336,7 +1354,8 @@ impl Eq for MetaList {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for MetaList { fn eq(&self, other: &Self) -> bool { - self.path == other.path && self.nested == other.nested + self.path == other.path && self.delimiter == other.delimiter + && TokenStreamHelper(&self.tokens) == TokenStreamHelper(&other.tokens) } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1346,31 +1365,7 @@ impl Eq for MetaNameValue {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for MetaNameValue { fn eq(&self, other: &Self) -> bool { - self.path == other.path && self.lit == other.lit - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for MethodTurbofish {} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for MethodTurbofish { - fn eq(&self, other: &Self) -> bool { - self.args == other.args - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for NestedMeta {} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for NestedMeta { - fn eq(&self, other: &Self) -> bool { - match (self, other) { - (NestedMeta::Meta(self0), NestedMeta::Meta(other0)) => self0 == other0, - (NestedMeta::Lit(self0), NestedMeta::Lit(other0)) => self0 == other0, - _ => false, - } + self.path == other.path && self.value == other.value } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1391,11 +1386,12 @@ impl Eq for Pat {} impl PartialEq for Pat { fn eq(&self, other: &Self) -> bool { match (self, other) { - (Pat::Box(self0), Pat::Box(other0)) => self0 == other0, + (Pat::Const(self0), Pat::Const(other0)) => self0 == other0, (Pat::Ident(self0), Pat::Ident(other0)) => self0 == other0, (Pat::Lit(self0), Pat::Lit(other0)) => self0 == other0, (Pat::Macro(self0), Pat::Macro(other0)) => self0 == other0, (Pat::Or(self0), Pat::Or(other0)) => self0 == other0, + (Pat::Paren(self0), Pat::Paren(other0)) => self0 == other0, (Pat::Path(self0), Pat::Path(other0)) => self0 == other0, (Pat::Range(self0), Pat::Range(other0)) => self0 == other0, (Pat::Reference(self0), Pat::Reference(other0)) => self0 == other0, @@ -1415,16 +1411,6 @@ impl PartialEq for Pat { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for PatBox {} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for PatBox { - fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.pat == other.pat - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for PatIdent {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -1437,26 +1423,6 @@ impl PartialEq for PatIdent { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for PatLit {} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for PatLit { - fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.expr == other.expr - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for PatMacro {} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for PatMacro { - fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.mac == other.mac - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for PatOr {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -1468,23 +1434,12 @@ impl PartialEq for PatOr { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for PatPath {} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for PatPath { - fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.qself == other.qself && self.path == other.path - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for PatRange {} +impl Eq for PatParen {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for PatRange { +impl PartialEq for PatParen { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.lo == other.lo && self.limits == other.limits - && self.hi == other.hi + self.attrs == other.attrs && self.pat == other.pat } } #[cfg(feature = "full")] @@ -1525,8 +1480,8 @@ impl Eq for PatStruct {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for PatStruct { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.path == other.path - && self.fields == other.fields && self.dot2_token == other.dot2_token + self.attrs == other.attrs && self.qself == other.qself && self.path == other.path + && self.fields == other.fields && self.rest == other.rest } } #[cfg(feature = "full")] @@ -1546,7 +1501,8 @@ impl Eq for PatTupleStruct {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for PatTupleStruct { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.path == other.path && self.pat == other.pat + self.attrs == other.attrs && self.qself == other.qself && self.path == other.path + && self.elems == other.elems } } #[cfg(feature = "full")] @@ -1612,16 +1568,6 @@ impl PartialEq for PathSegment { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for PredicateEq {} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for PredicateEq { - fn eq(&self, other: &Self) -> bool { - self.lhs_ty == other.lhs_ty && self.rhs_ty == other.rhs_ty - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for PredicateLifetime {} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -1675,6 +1621,7 @@ impl PartialEq for Receiver { fn eq(&self, other: &Self) -> bool { self.attrs == other.attrs && self.reference == other.reference && self.mutability == other.mutability + && self.colon_token == other.colon_token && self.ty == other.ty } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1707,6 +1654,20 @@ impl PartialEq for Signature { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Eq for StaticMutability {} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl PartialEq for StaticMutability { + fn eq(&self, other: &Self) -> bool { + match (self, other) { + (StaticMutability::Mut(_), StaticMutability::Mut(_)) => true, + (StaticMutability::None, StaticMutability::None) => true, + _ => false, + } + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for Stmt {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -1715,12 +1676,25 @@ impl PartialEq for Stmt { match (self, other) { (Stmt::Local(self0), Stmt::Local(other0)) => self0 == other0, (Stmt::Item(self0), Stmt::Item(other0)) => self0 == other0, - (Stmt::Expr(self0), Stmt::Expr(other0)) => self0 == other0, - (Stmt::Semi(self0, _), Stmt::Semi(other0, _)) => self0 == other0, + (Stmt::Expr(self0, self1), Stmt::Expr(other0, other1)) => { + self0 == other0 && self1 == other1 + } + (Stmt::Macro(self0), Stmt::Macro(other0)) => self0 == other0, _ => false, } } } +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Eq for StmtMacro {} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl PartialEq for StmtMacro { + fn eq(&self, other: &Self) -> bool { + self.attrs == other.attrs && self.mac == other.mac + && self.semi_token == other.semi_token + } +} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for TraitBound {} @@ -1755,7 +1729,7 @@ impl PartialEq for TraitItem { fn eq(&self, other: &Self) -> bool { match (self, other) { (TraitItem::Const(self0), TraitItem::Const(other0)) => self0 == other0, - (TraitItem::Method(self0), TraitItem::Method(other0)) => self0 == other0, + (TraitItem::Fn(self0), TraitItem::Fn(other0)) => self0 == other0, (TraitItem::Type(self0), TraitItem::Type(other0)) => self0 == other0, (TraitItem::Macro(self0), TraitItem::Macro(other0)) => self0 == other0, (TraitItem::Verbatim(self0), TraitItem::Verbatim(other0)) => { @@ -1772,30 +1746,31 @@ impl Eq for TraitItemConst {} #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for TraitItemConst { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.ident == other.ident && self.ty == other.ty + self.attrs == other.attrs && self.ident == other.ident + && self.generics == other.generics && self.ty == other.ty && self.default == other.default } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for TraitItemMacro {} +impl Eq for TraitItemFn {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for TraitItemMacro { +impl PartialEq for TraitItemFn { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.mac == other.mac - && self.semi_token == other.semi_token + self.attrs == other.attrs && self.sig == other.sig + && self.default == other.default && self.semi_token == other.semi_token } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for TraitItemMethod {} +impl Eq for TraitItemMacro {} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for TraitItemMethod { +impl PartialEq for TraitItemMacro { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs && self.sig == other.sig - && self.default == other.default && self.semi_token == other.semi_token + self.attrs == other.attrs && self.mac == other.mac + && self.semi_token == other.semi_token } } #[cfg(feature = "full")] @@ -1937,6 +1912,9 @@ impl PartialEq for TypeParamBound { (TypeParamBound::Lifetime(self0), TypeParamBound::Lifetime(other0)) => { self0 == other0 } + (TypeParamBound::Verbatim(self0), TypeParamBound::Verbatim(other0)) => { + TokenStreamHelper(self0) == TokenStreamHelper(other0) + } _ => false, } } @@ -2095,14 +2073,14 @@ impl PartialEq for UseTree { } } } -#[cfg(any(feature = "derive", feature = "full"))] +#[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for Variadic {} -#[cfg(any(feature = "derive", feature = "full"))] +#[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl PartialEq for Variadic { fn eq(&self, other: &Self) -> bool { - self.attrs == other.attrs + self.attrs == other.attrs && self.pat == other.pat && self.comma == other.comma } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2118,26 +2096,6 @@ impl PartialEq for Variant { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for VisCrate {} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for VisCrate { - fn eq(&self, _other: &Self) -> bool { - true - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Eq for VisPublic {} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl PartialEq for VisPublic { - fn eq(&self, _other: &Self) -> bool { - true - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Eq for VisRestricted {} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] @@ -2154,8 +2112,7 @@ impl Eq for Visibility {} impl PartialEq for Visibility { fn eq(&self, other: &Self) -> bool { match (self, other) { - (Visibility::Public(self0), Visibility::Public(other0)) => self0 == other0, - (Visibility::Crate(self0), Visibility::Crate(other0)) => self0 == other0, + (Visibility::Public(_), Visibility::Public(_)) => true, (Visibility::Restricted(self0), Visibility::Restricted(other0)) => { self0 == other0 } @@ -2182,13 +2139,12 @@ impl Eq for WherePredicate {} impl PartialEq for WherePredicate { fn eq(&self, other: &Self) -> bool { match (self, other) { - (WherePredicate::Type(self0), WherePredicate::Type(other0)) => { + (WherePredicate::Lifetime(self0), WherePredicate::Lifetime(other0)) => { self0 == other0 } - (WherePredicate::Lifetime(self0), WherePredicate::Lifetime(other0)) => { + (WherePredicate::Type(self0), WherePredicate::Type(other0)) => { self0 == other0 } - (WherePredicate::Eq(self0), WherePredicate::Eq(other0)) => self0 == other0, _ => false, } } diff --git a/vendor/syn/src/gen/fold.rs b/vendor/syn/src/gen/fold.rs index 98bb5794a..624c15b17 100644 --- a/vendor/syn/src/gen/fold.rs +++ b/vendor/syn/src/gen/fold.rs @@ -2,11 +2,9 @@ // It is not intended for manual editing. #![allow(unreachable_code, unused_variables)] -#![allow(clippy::match_wildcard_for_single_variants)] +#![allow(clippy::match_wildcard_for_single_variants, clippy::needless_match)] #[cfg(any(feature = "full", feature = "derive"))] use crate::gen::helper::fold::*; -#[cfg(any(feature = "full", feature = "derive"))] -use crate::token::{Brace, Bracket, Group, Paren}; use crate::*; use proc_macro2::Span; #[cfg(feature = "full")] @@ -26,8 +24,6 @@ macro_rules! full { /// See the [module documentation] for details. /// /// [module documentation]: self -/// -/// *This trait is available only if Syn is built with the `"fold"` feature.* pub trait Fold { #[cfg(any(feature = "derive", feature = "full"))] fn fold_abi(&mut self, i: Abi) -> Abi { @@ -45,6 +41,14 @@ pub trait Fold { fold_arm(self, i) } #[cfg(any(feature = "derive", feature = "full"))] + fn fold_assoc_const(&mut self, i: AssocConst) -> AssocConst { + fold_assoc_const(self, i) + } + #[cfg(any(feature = "derive", feature = "full"))] + fn fold_assoc_type(&mut self, i: AssocType) -> AssocType { + fold_assoc_type(self, i) + } + #[cfg(any(feature = "derive", feature = "full"))] fn fold_attr_style(&mut self, i: AttrStyle) -> AttrStyle { fold_attr_style(self, i) } @@ -57,12 +61,12 @@ pub trait Fold { fold_bare_fn_arg(self, i) } #[cfg(any(feature = "derive", feature = "full"))] - fn fold_bin_op(&mut self, i: BinOp) -> BinOp { - fold_bin_op(self, i) + fn fold_bare_variadic(&mut self, i: BareVariadic) -> BareVariadic { + fold_bare_variadic(self, i) } #[cfg(any(feature = "derive", feature = "full"))] - fn fold_binding(&mut self, i: Binding) -> Binding { - fold_binding(self, i) + fn fold_bin_op(&mut self, i: BinOp) -> BinOp { + fold_bin_op(self, i) } #[cfg(feature = "full")] fn fold_block(&mut self, i: Block) -> Block { @@ -113,10 +117,6 @@ pub trait Fold { fold_expr_assign(self, i) } #[cfg(feature = "full")] - fn fold_expr_assign_op(&mut self, i: ExprAssignOp) -> ExprAssignOp { - fold_expr_assign_op(self, i) - } - #[cfg(feature = "full")] fn fold_expr_async(&mut self, i: ExprAsync) -> ExprAsync { fold_expr_async(self, i) } @@ -133,10 +133,6 @@ pub trait Fold { fold_expr_block(self, i) } #[cfg(feature = "full")] - fn fold_expr_box(&mut self, i: ExprBox) -> ExprBox { - fold_expr_box(self, i) - } - #[cfg(feature = "full")] fn fold_expr_break(&mut self, i: ExprBreak) -> ExprBreak { fold_expr_break(self, i) } @@ -153,6 +149,10 @@ pub trait Fold { fold_expr_closure(self, i) } #[cfg(feature = "full")] + fn fold_expr_const(&mut self, i: ExprConst) -> ExprConst { + fold_expr_const(self, i) + } + #[cfg(feature = "full")] fn fold_expr_continue(&mut self, i: ExprContinue) -> ExprContinue { fold_expr_continue(self, i) } @@ -164,7 +164,7 @@ pub trait Fold { fn fold_expr_for_loop(&mut self, i: ExprForLoop) -> ExprForLoop { fold_expr_for_loop(self, i) } - #[cfg(feature = "full")] + #[cfg(any(feature = "derive", feature = "full"))] fn fold_expr_group(&mut self, i: ExprGroup) -> ExprGroup { fold_expr_group(self, i) } @@ -177,6 +177,10 @@ pub trait Fold { fold_expr_index(self, i) } #[cfg(feature = "full")] + fn fold_expr_infer(&mut self, i: ExprInfer) -> ExprInfer { + fold_expr_infer(self, i) + } + #[cfg(feature = "full")] fn fold_expr_let(&mut self, i: ExprLet) -> ExprLet { fold_expr_let(self, i) } @@ -188,7 +192,7 @@ pub trait Fold { fn fold_expr_loop(&mut self, i: ExprLoop) -> ExprLoop { fold_expr_loop(self, i) } - #[cfg(feature = "full")] + #[cfg(any(feature = "derive", feature = "full"))] fn fold_expr_macro(&mut self, i: ExprMacro) -> ExprMacro { fold_expr_macro(self, i) } @@ -240,10 +244,6 @@ pub trait Fold { fn fold_expr_tuple(&mut self, i: ExprTuple) -> ExprTuple { fold_expr_tuple(self, i) } - #[cfg(feature = "full")] - fn fold_expr_type(&mut self, i: ExprType) -> ExprType { - fold_expr_type(self, i) - } #[cfg(any(feature = "derive", feature = "full"))] fn fold_expr_unary(&mut self, i: ExprUnary) -> ExprUnary { fold_expr_unary(self, i) @@ -264,6 +264,10 @@ pub trait Fold { fn fold_field(&mut self, i: Field) -> Field { fold_field(self, i) } + #[cfg(any(feature = "derive", feature = "full"))] + fn fold_field_mutability(&mut self, i: FieldMutability) -> FieldMutability { + fold_field_mutability(self, i) + } #[cfg(feature = "full")] fn fold_field_pat(&mut self, i: FieldPat) -> FieldPat { fold_field_pat(self, i) @@ -316,13 +320,6 @@ pub trait Fold { fn fold_generic_argument(&mut self, i: GenericArgument) -> GenericArgument { fold_generic_argument(self, i) } - #[cfg(feature = "full")] - fn fold_generic_method_argument( - &mut self, - i: GenericMethodArgument, - ) -> GenericMethodArgument { - fold_generic_method_argument(self, i) - } #[cfg(any(feature = "derive", feature = "full"))] fn fold_generic_param(&mut self, i: GenericParam) -> GenericParam { fold_generic_param(self, i) @@ -343,17 +340,21 @@ pub trait Fold { fold_impl_item_const(self, i) } #[cfg(feature = "full")] - fn fold_impl_item_macro(&mut self, i: ImplItemMacro) -> ImplItemMacro { - fold_impl_item_macro(self, i) + fn fold_impl_item_fn(&mut self, i: ImplItemFn) -> ImplItemFn { + fold_impl_item_fn(self, i) } #[cfg(feature = "full")] - fn fold_impl_item_method(&mut self, i: ImplItemMethod) -> ImplItemMethod { - fold_impl_item_method(self, i) + fn fold_impl_item_macro(&mut self, i: ImplItemMacro) -> ImplItemMacro { + fold_impl_item_macro(self, i) } #[cfg(feature = "full")] fn fold_impl_item_type(&mut self, i: ImplItemType) -> ImplItemType { fold_impl_item_type(self, i) } + #[cfg(feature = "full")] + fn fold_impl_restriction(&mut self, i: ImplRestriction) -> ImplRestriction { + fold_impl_restriction(self, i) + } #[cfg(any(feature = "derive", feature = "full"))] fn fold_index(&mut self, i: Index) -> Index { fold_index(self, i) @@ -391,10 +392,6 @@ pub trait Fold { fold_item_macro(self, i) } #[cfg(feature = "full")] - fn fold_item_macro2(&mut self, i: ItemMacro2) -> ItemMacro2 { - fold_item_macro2(self, i) - } - #[cfg(feature = "full")] fn fold_item_mod(&mut self, i: ItemMod) -> ItemMod { fold_item_mod(self, i) } @@ -434,8 +431,8 @@ pub trait Fold { fold_lifetime(self, i) } #[cfg(any(feature = "derive", feature = "full"))] - fn fold_lifetime_def(&mut self, i: LifetimeDef) -> LifetimeDef { - fold_lifetime_def(self, i) + fn fold_lifetime_param(&mut self, i: LifetimeParam) -> LifetimeParam { + fold_lifetime_param(self, i) } fn fold_lit(&mut self, i: Lit) -> Lit { fold_lit(self, i) @@ -465,6 +462,10 @@ pub trait Fold { fn fold_local(&mut self, i: Local) -> Local { fold_local(self, i) } + #[cfg(feature = "full")] + fn fold_local_init(&mut self, i: LocalInit) -> LocalInit { + fold_local_init(self, i) + } #[cfg(any(feature = "derive", feature = "full"))] fn fold_macro(&mut self, i: Macro) -> Macro { fold_macro(self, i) @@ -489,14 +490,6 @@ pub trait Fold { fn fold_meta_name_value(&mut self, i: MetaNameValue) -> MetaNameValue { fold_meta_name_value(self, i) } - #[cfg(feature = "full")] - fn fold_method_turbofish(&mut self, i: MethodTurbofish) -> MethodTurbofish { - fold_method_turbofish(self, i) - } - #[cfg(any(feature = "derive", feature = "full"))] - fn fold_nested_meta(&mut self, i: NestedMeta) -> NestedMeta { - fold_nested_meta(self, i) - } #[cfg(any(feature = "derive", feature = "full"))] fn fold_parenthesized_generic_arguments( &mut self, @@ -509,32 +502,16 @@ pub trait Fold { fold_pat(self, i) } #[cfg(feature = "full")] - fn fold_pat_box(&mut self, i: PatBox) -> PatBox { - fold_pat_box(self, i) - } - #[cfg(feature = "full")] fn fold_pat_ident(&mut self, i: PatIdent) -> PatIdent { fold_pat_ident(self, i) } #[cfg(feature = "full")] - fn fold_pat_lit(&mut self, i: PatLit) -> PatLit { - fold_pat_lit(self, i) - } - #[cfg(feature = "full")] - fn fold_pat_macro(&mut self, i: PatMacro) -> PatMacro { - fold_pat_macro(self, i) - } - #[cfg(feature = "full")] fn fold_pat_or(&mut self, i: PatOr) -> PatOr { fold_pat_or(self, i) } #[cfg(feature = "full")] - fn fold_pat_path(&mut self, i: PatPath) -> PatPath { - fold_pat_path(self, i) - } - #[cfg(feature = "full")] - fn fold_pat_range(&mut self, i: PatRange) -> PatRange { - fold_pat_range(self, i) + fn fold_pat_paren(&mut self, i: PatParen) -> PatParen { + fold_pat_paren(self, i) } #[cfg(feature = "full")] fn fold_pat_reference(&mut self, i: PatReference) -> PatReference { @@ -581,10 +558,6 @@ pub trait Fold { fold_path_segment(self, i) } #[cfg(any(feature = "derive", feature = "full"))] - fn fold_predicate_eq(&mut self, i: PredicateEq) -> PredicateEq { - fold_predicate_eq(self, i) - } - #[cfg(any(feature = "derive", feature = "full"))] fn fold_predicate_lifetime(&mut self, i: PredicateLifetime) -> PredicateLifetime { fold_predicate_lifetime(self, i) } @@ -616,9 +589,17 @@ pub trait Fold { fold_span(self, i) } #[cfg(feature = "full")] + fn fold_static_mutability(&mut self, i: StaticMutability) -> StaticMutability { + fold_static_mutability(self, i) + } + #[cfg(feature = "full")] fn fold_stmt(&mut self, i: Stmt) -> Stmt { fold_stmt(self, i) } + #[cfg(feature = "full")] + fn fold_stmt_macro(&mut self, i: StmtMacro) -> StmtMacro { + fold_stmt_macro(self, i) + } #[cfg(any(feature = "derive", feature = "full"))] fn fold_trait_bound(&mut self, i: TraitBound) -> TraitBound { fold_trait_bound(self, i) @@ -639,12 +620,12 @@ pub trait Fold { fold_trait_item_const(self, i) } #[cfg(feature = "full")] - fn fold_trait_item_macro(&mut self, i: TraitItemMacro) -> TraitItemMacro { - fold_trait_item_macro(self, i) + fn fold_trait_item_fn(&mut self, i: TraitItemFn) -> TraitItemFn { + fold_trait_item_fn(self, i) } #[cfg(feature = "full")] - fn fold_trait_item_method(&mut self, i: TraitItemMethod) -> TraitItemMethod { - fold_trait_item_method(self, i) + fn fold_trait_item_macro(&mut self, i: TraitItemMacro) -> TraitItemMacro { + fold_trait_item_macro(self, i) } #[cfg(feature = "full")] fn fold_trait_item_type(&mut self, i: TraitItemType) -> TraitItemType { @@ -746,7 +727,7 @@ pub trait Fold { fn fold_use_tree(&mut self, i: UseTree) -> UseTree { fold_use_tree(self, i) } - #[cfg(any(feature = "derive", feature = "full"))] + #[cfg(feature = "full")] fn fold_variadic(&mut self, i: Variadic) -> Variadic { fold_variadic(self, i) } @@ -755,14 +736,6 @@ pub trait Fold { fold_variant(self, i) } #[cfg(any(feature = "derive", feature = "full"))] - fn fold_vis_crate(&mut self, i: VisCrate) -> VisCrate { - fold_vis_crate(self, i) - } - #[cfg(any(feature = "derive", feature = "full"))] - fn fold_vis_public(&mut self, i: VisPublic) -> VisPublic { - fold_vis_public(self, i) - } - #[cfg(any(feature = "derive", feature = "full"))] fn fold_vis_restricted(&mut self, i: VisRestricted) -> VisRestricted { fold_vis_restricted(self, i) } @@ -785,7 +758,7 @@ where F: Fold + ?Sized, { Abi { - extern_token: Token![extern](tokens_helper(f, &node.extern_token.span)), + extern_token: node.extern_token, name: (node.name).map(|it| f.fold_lit_str(it)), } } @@ -798,11 +771,10 @@ where F: Fold + ?Sized, { AngleBracketedGenericArguments { - colon2_token: (node.colon2_token) - .map(|it| Token![::](tokens_helper(f, &it.spans))), - lt_token: Token![<](tokens_helper(f, &node.lt_token.spans)), + colon2_token: node.colon2_token, + lt_token: node.lt_token, args: FoldHelper::lift(node.args, |it| f.fold_generic_argument(it)), - gt_token: Token![>](tokens_helper(f, &node.gt_token.spans)), + gt_token: node.gt_token, } } #[cfg(feature = "full")] @@ -813,14 +785,34 @@ where Arm { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), pat: f.fold_pat(node.pat), - guard: (node.guard) - .map(|it| ( - Token![if](tokens_helper(f, &(it).0.span)), - Box::new(f.fold_expr(*(it).1)), - )), - fat_arrow_token: Token![=>](tokens_helper(f, &node.fat_arrow_token.spans)), + guard: (node.guard).map(|it| ((it).0, Box::new(f.fold_expr(*(it).1)))), + fat_arrow_token: node.fat_arrow_token, body: Box::new(f.fold_expr(*node.body)), - comma: (node.comma).map(|it| Token![,](tokens_helper(f, &it.spans))), + comma: node.comma, + } +} +#[cfg(any(feature = "derive", feature = "full"))] +pub fn fold_assoc_const(f: &mut F, node: AssocConst) -> AssocConst +where + F: Fold + ?Sized, +{ + AssocConst { + ident: f.fold_ident(node.ident), + generics: (node.generics).map(|it| f.fold_angle_bracketed_generic_arguments(it)), + eq_token: node.eq_token, + value: f.fold_expr(node.value), + } +} +#[cfg(any(feature = "derive", feature = "full"))] +pub fn fold_assoc_type(f: &mut F, node: AssocType) -> AssocType +where + F: Fold + ?Sized, +{ + AssocType { + ident: f.fold_ident(node.ident), + generics: (node.generics).map(|it| f.fold_angle_bracketed_generic_arguments(it)), + eq_token: node.eq_token, + ty: f.fold_type(node.ty), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -830,9 +822,7 @@ where { match node { AttrStyle::Outer => AttrStyle::Outer, - AttrStyle::Inner(_binding_0) => { - AttrStyle::Inner(Token![!](tokens_helper(f, &_binding_0.spans))) - } + AttrStyle::Inner(_binding_0) => AttrStyle::Inner(_binding_0), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -841,11 +831,10 @@ where F: Fold + ?Sized, { Attribute { - pound_token: Token![#](tokens_helper(f, &node.pound_token.spans)), + pound_token: node.pound_token, style: f.fold_attr_style(node.style), - bracket_token: Bracket(tokens_helper(f, &node.bracket_token.span)), - path: f.fold_path(node.path), - tokens: node.tokens, + bracket_token: node.bracket_token, + meta: f.fold_meta(node.meta), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -855,115 +844,56 @@ where { BareFnArg { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - name: (node.name) - .map(|it| ( - f.fold_ident((it).0), - Token![:](tokens_helper(f, &(it).1.spans)), - )), + name: (node.name).map(|it| (f.fold_ident((it).0), (it).1)), ty: f.fold_type(node.ty), } } #[cfg(any(feature = "derive", feature = "full"))] -pub fn fold_bin_op(f: &mut F, node: BinOp) -> BinOp +pub fn fold_bare_variadic(f: &mut F, node: BareVariadic) -> BareVariadic where F: Fold + ?Sized, { - match node { - BinOp::Add(_binding_0) => { - BinOp::Add(Token![+](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Sub(_binding_0) => { - BinOp::Sub(Token![-](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Mul(_binding_0) => { - BinOp::Mul(Token![*](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Div(_binding_0) => { - BinOp::Div(Token![/](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Rem(_binding_0) => { - BinOp::Rem(Token![%](tokens_helper(f, &_binding_0.spans))) - } - BinOp::And(_binding_0) => { - BinOp::And(Token![&&](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Or(_binding_0) => { - BinOp::Or(Token![||](tokens_helper(f, &_binding_0.spans))) - } - BinOp::BitXor(_binding_0) => { - BinOp::BitXor(Token![^](tokens_helper(f, &_binding_0.spans))) - } - BinOp::BitAnd(_binding_0) => { - BinOp::BitAnd(Token![&](tokens_helper(f, &_binding_0.spans))) - } - BinOp::BitOr(_binding_0) => { - BinOp::BitOr(Token![|](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Shl(_binding_0) => { - BinOp::Shl(Token![<<](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Shr(_binding_0) => { - BinOp::Shr(Token![>>](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Eq(_binding_0) => { - BinOp::Eq(Token![==](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Lt(_binding_0) => { - BinOp::Lt(Token![<](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Le(_binding_0) => { - BinOp::Le(Token![<=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Ne(_binding_0) => { - BinOp::Ne(Token![!=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Ge(_binding_0) => { - BinOp::Ge(Token![>=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::Gt(_binding_0) => { - BinOp::Gt(Token![>](tokens_helper(f, &_binding_0.spans))) - } - BinOp::AddEq(_binding_0) => { - BinOp::AddEq(Token![+=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::SubEq(_binding_0) => { - BinOp::SubEq(Token![-=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::MulEq(_binding_0) => { - BinOp::MulEq(Token![*=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::DivEq(_binding_0) => { - BinOp::DivEq(Token![/=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::RemEq(_binding_0) => { - BinOp::RemEq(Token![%=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::BitXorEq(_binding_0) => { - BinOp::BitXorEq(Token![^=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::BitAndEq(_binding_0) => { - BinOp::BitAndEq(Token![&=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::BitOrEq(_binding_0) => { - BinOp::BitOrEq(Token![|=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::ShlEq(_binding_0) => { - BinOp::ShlEq(Token![<<=](tokens_helper(f, &_binding_0.spans))) - } - BinOp::ShrEq(_binding_0) => { - BinOp::ShrEq(Token![>>=](tokens_helper(f, &_binding_0.spans))) - } + BareVariadic { + attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), + name: (node.name).map(|it| (f.fold_ident((it).0), (it).1)), + dots: node.dots, + comma: node.comma, } } #[cfg(any(feature = "derive", feature = "full"))] -pub fn fold_binding(f: &mut F, node: Binding) -> Binding +pub fn fold_bin_op(f: &mut F, node: BinOp) -> BinOp where F: Fold + ?Sized, { - Binding { - ident: f.fold_ident(node.ident), - eq_token: Token![=](tokens_helper(f, &node.eq_token.spans)), - ty: f.fold_type(node.ty), + match node { + BinOp::Add(_binding_0) => BinOp::Add(_binding_0), + BinOp::Sub(_binding_0) => BinOp::Sub(_binding_0), + BinOp::Mul(_binding_0) => BinOp::Mul(_binding_0), + BinOp::Div(_binding_0) => BinOp::Div(_binding_0), + BinOp::Rem(_binding_0) => BinOp::Rem(_binding_0), + BinOp::And(_binding_0) => BinOp::And(_binding_0), + BinOp::Or(_binding_0) => BinOp::Or(_binding_0), + BinOp::BitXor(_binding_0) => BinOp::BitXor(_binding_0), + BinOp::BitAnd(_binding_0) => BinOp::BitAnd(_binding_0), + BinOp::BitOr(_binding_0) => BinOp::BitOr(_binding_0), + BinOp::Shl(_binding_0) => BinOp::Shl(_binding_0), + BinOp::Shr(_binding_0) => BinOp::Shr(_binding_0), + BinOp::Eq(_binding_0) => BinOp::Eq(_binding_0), + BinOp::Lt(_binding_0) => BinOp::Lt(_binding_0), + BinOp::Le(_binding_0) => BinOp::Le(_binding_0), + BinOp::Ne(_binding_0) => BinOp::Ne(_binding_0), + BinOp::Ge(_binding_0) => BinOp::Ge(_binding_0), + BinOp::Gt(_binding_0) => BinOp::Gt(_binding_0), + BinOp::AddAssign(_binding_0) => BinOp::AddAssign(_binding_0), + BinOp::SubAssign(_binding_0) => BinOp::SubAssign(_binding_0), + BinOp::MulAssign(_binding_0) => BinOp::MulAssign(_binding_0), + BinOp::DivAssign(_binding_0) => BinOp::DivAssign(_binding_0), + BinOp::RemAssign(_binding_0) => BinOp::RemAssign(_binding_0), + BinOp::BitXorAssign(_binding_0) => BinOp::BitXorAssign(_binding_0), + BinOp::BitAndAssign(_binding_0) => BinOp::BitAndAssign(_binding_0), + BinOp::BitOrAssign(_binding_0) => BinOp::BitOrAssign(_binding_0), + BinOp::ShlAssign(_binding_0) => BinOp::ShlAssign(_binding_0), + BinOp::ShrAssign(_binding_0) => BinOp::ShrAssign(_binding_0), } } #[cfg(feature = "full")] @@ -972,7 +902,7 @@ where F: Fold + ?Sized, { Block { - brace_token: Brace(tokens_helper(f, &node.brace_token.span)), + brace_token: node.brace_token, stmts: FoldHelper::lift(node.stmts, |it| f.fold_stmt(it)), } } @@ -982,10 +912,10 @@ where F: Fold + ?Sized, { BoundLifetimes { - for_token: Token![for](tokens_helper(f, &node.for_token.span)), - lt_token: Token![<](tokens_helper(f, &node.lt_token.spans)), - lifetimes: FoldHelper::lift(node.lifetimes, |it| f.fold_lifetime_def(it)), - gt_token: Token![>](tokens_helper(f, &node.gt_token.spans)), + for_token: node.for_token, + lt_token: node.lt_token, + lifetimes: FoldHelper::lift(node.lifetimes, |it| f.fold_generic_param(it)), + gt_token: node.gt_token, } } #[cfg(any(feature = "derive", feature = "full"))] @@ -995,11 +925,11 @@ where { ConstParam { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - const_token: Token![const](tokens_helper(f, &node.const_token.span)), + const_token: node.const_token, ident: f.fold_ident(node.ident), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), + colon_token: node.colon_token, ty: f.fold_type(node.ty), - eq_token: (node.eq_token).map(|it| Token![=](tokens_helper(f, &it.spans))), + eq_token: node.eq_token, default: (node.default).map(|it| f.fold_expr(it)), } } @@ -1010,7 +940,8 @@ where { Constraint { ident: f.fold_ident(node.ident), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), + generics: (node.generics).map(|it| f.fold_angle_bracketed_generic_arguments(it)), + colon_token: node.colon_token, bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)), } } @@ -1031,8 +962,8 @@ where F: Fold + ?Sized, { DataEnum { - enum_token: Token![enum](tokens_helper(f, &node.enum_token.span)), - brace_token: Brace(tokens_helper(f, &node.brace_token.span)), + enum_token: node.enum_token, + brace_token: node.brace_token, variants: FoldHelper::lift(node.variants, |it| f.fold_variant(it)), } } @@ -1042,9 +973,9 @@ where F: Fold + ?Sized, { DataStruct { - struct_token: Token![struct](tokens_helper(f, &node.struct_token.span)), + struct_token: node.struct_token, fields: f.fold_fields(node.fields), - semi_token: (node.semi_token).map(|it| Token![;](tokens_helper(f, &it.spans))), + semi_token: node.semi_token, } } #[cfg(feature = "derive")] @@ -1053,7 +984,7 @@ where F: Fold + ?Sized, { DataUnion { - union_token: Token![union](tokens_helper(f, &node.union_token.span)), + union_token: node.union_token, fields: f.fold_fields_named(node.fields), } } @@ -1078,20 +1009,17 @@ where match node { Expr::Array(_binding_0) => Expr::Array(full!(f.fold_expr_array(_binding_0))), Expr::Assign(_binding_0) => Expr::Assign(full!(f.fold_expr_assign(_binding_0))), - Expr::AssignOp(_binding_0) => { - Expr::AssignOp(full!(f.fold_expr_assign_op(_binding_0))) - } Expr::Async(_binding_0) => Expr::Async(full!(f.fold_expr_async(_binding_0))), Expr::Await(_binding_0) => Expr::Await(full!(f.fold_expr_await(_binding_0))), Expr::Binary(_binding_0) => Expr::Binary(f.fold_expr_binary(_binding_0)), Expr::Block(_binding_0) => Expr::Block(full!(f.fold_expr_block(_binding_0))), - Expr::Box(_binding_0) => Expr::Box(full!(f.fold_expr_box(_binding_0))), Expr::Break(_binding_0) => Expr::Break(full!(f.fold_expr_break(_binding_0))), Expr::Call(_binding_0) => Expr::Call(f.fold_expr_call(_binding_0)), Expr::Cast(_binding_0) => Expr::Cast(f.fold_expr_cast(_binding_0)), Expr::Closure(_binding_0) => { Expr::Closure(full!(f.fold_expr_closure(_binding_0))) } + Expr::Const(_binding_0) => Expr::Const(full!(f.fold_expr_const(_binding_0))), Expr::Continue(_binding_0) => { Expr::Continue(full!(f.fold_expr_continue(_binding_0))) } @@ -1099,13 +1027,14 @@ where Expr::ForLoop(_binding_0) => { Expr::ForLoop(full!(f.fold_expr_for_loop(_binding_0))) } - Expr::Group(_binding_0) => Expr::Group(full!(f.fold_expr_group(_binding_0))), + Expr::Group(_binding_0) => Expr::Group(f.fold_expr_group(_binding_0)), Expr::If(_binding_0) => Expr::If(full!(f.fold_expr_if(_binding_0))), Expr::Index(_binding_0) => Expr::Index(f.fold_expr_index(_binding_0)), + Expr::Infer(_binding_0) => Expr::Infer(full!(f.fold_expr_infer(_binding_0))), Expr::Let(_binding_0) => Expr::Let(full!(f.fold_expr_let(_binding_0))), Expr::Lit(_binding_0) => Expr::Lit(f.fold_expr_lit(_binding_0)), Expr::Loop(_binding_0) => Expr::Loop(full!(f.fold_expr_loop(_binding_0))), - Expr::Macro(_binding_0) => Expr::Macro(full!(f.fold_expr_macro(_binding_0))), + Expr::Macro(_binding_0) => Expr::Macro(f.fold_expr_macro(_binding_0)), Expr::Match(_binding_0) => Expr::Match(full!(f.fold_expr_match(_binding_0))), Expr::MethodCall(_binding_0) => { Expr::MethodCall(full!(f.fold_expr_method_call(_binding_0))) @@ -1124,14 +1053,11 @@ where Expr::TryBlock(full!(f.fold_expr_try_block(_binding_0))) } Expr::Tuple(_binding_0) => Expr::Tuple(full!(f.fold_expr_tuple(_binding_0))), - Expr::Type(_binding_0) => Expr::Type(full!(f.fold_expr_type(_binding_0))), Expr::Unary(_binding_0) => Expr::Unary(f.fold_expr_unary(_binding_0)), Expr::Unsafe(_binding_0) => Expr::Unsafe(full!(f.fold_expr_unsafe(_binding_0))), Expr::Verbatim(_binding_0) => Expr::Verbatim(_binding_0), Expr::While(_binding_0) => Expr::While(full!(f.fold_expr_while(_binding_0))), Expr::Yield(_binding_0) => Expr::Yield(full!(f.fold_expr_yield(_binding_0))), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -1141,7 +1067,7 @@ where { ExprArray { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - bracket_token: Bracket(tokens_helper(f, &node.bracket_token.span)), + bracket_token: node.bracket_token, elems: FoldHelper::lift(node.elems, |it| f.fold_expr(it)), } } @@ -1153,19 +1079,7 @@ where ExprAssign { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), left: Box::new(f.fold_expr(*node.left)), - eq_token: Token![=](tokens_helper(f, &node.eq_token.spans)), - right: Box::new(f.fold_expr(*node.right)), - } -} -#[cfg(feature = "full")] -pub fn fold_expr_assign_op(f: &mut F, node: ExprAssignOp) -> ExprAssignOp -where - F: Fold + ?Sized, -{ - ExprAssignOp { - attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - left: Box::new(f.fold_expr(*node.left)), - op: f.fold_bin_op(node.op), + eq_token: node.eq_token, right: Box::new(f.fold_expr(*node.right)), } } @@ -1176,8 +1090,8 @@ where { ExprAsync { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - async_token: Token![async](tokens_helper(f, &node.async_token.span)), - capture: (node.capture).map(|it| Token![move](tokens_helper(f, &it.span))), + async_token: node.async_token, + capture: node.capture, block: f.fold_block(node.block), } } @@ -1189,8 +1103,8 @@ where ExprAwait { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), base: Box::new(f.fold_expr(*node.base)), - dot_token: Token![.](tokens_helper(f, &node.dot_token.spans)), - await_token: crate::token::Await(tokens_helper(f, &node.await_token.span)), + dot_token: node.dot_token, + await_token: node.await_token, } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1217,24 +1131,13 @@ where } } #[cfg(feature = "full")] -pub fn fold_expr_box(f: &mut F, node: ExprBox) -> ExprBox -where - F: Fold + ?Sized, -{ - ExprBox { - attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - box_token: Token![box](tokens_helper(f, &node.box_token.span)), - expr: Box::new(f.fold_expr(*node.expr)), - } -} -#[cfg(feature = "full")] pub fn fold_expr_break(f: &mut F, node: ExprBreak) -> ExprBreak where F: Fold + ?Sized, { ExprBreak { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - break_token: Token![break](tokens_helper(f, &node.break_token.span)), + break_token: node.break_token, label: (node.label).map(|it| f.fold_lifetime(it)), expr: (node.expr).map(|it| Box::new(f.fold_expr(*it))), } @@ -1247,7 +1150,7 @@ where ExprCall { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), func: Box::new(f.fold_expr(*node.func)), - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), + paren_token: node.paren_token, args: FoldHelper::lift(node.args, |it| f.fold_expr(it)), } } @@ -1259,7 +1162,7 @@ where ExprCast { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), expr: Box::new(f.fold_expr(*node.expr)), - as_token: Token![as](tokens_helper(f, &node.as_token.span)), + as_token: node.as_token, ty: Box::new(f.fold_type(*node.ty)), } } @@ -1270,25 +1173,37 @@ where { ExprClosure { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - movability: (node.movability) - .map(|it| Token![static](tokens_helper(f, &it.span))), - asyncness: (node.asyncness).map(|it| Token![async](tokens_helper(f, &it.span))), - capture: (node.capture).map(|it| Token![move](tokens_helper(f, &it.span))), - or1_token: Token![|](tokens_helper(f, &node.or1_token.spans)), + lifetimes: (node.lifetimes).map(|it| f.fold_bound_lifetimes(it)), + constness: node.constness, + movability: node.movability, + asyncness: node.asyncness, + capture: node.capture, + or1_token: node.or1_token, inputs: FoldHelper::lift(node.inputs, |it| f.fold_pat(it)), - or2_token: Token![|](tokens_helper(f, &node.or2_token.spans)), + or2_token: node.or2_token, output: f.fold_return_type(node.output), body: Box::new(f.fold_expr(*node.body)), } } #[cfg(feature = "full")] +pub fn fold_expr_const(f: &mut F, node: ExprConst) -> ExprConst +where + F: Fold + ?Sized, +{ + ExprConst { + attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), + const_token: node.const_token, + block: f.fold_block(node.block), + } +} +#[cfg(feature = "full")] pub fn fold_expr_continue(f: &mut F, node: ExprContinue) -> ExprContinue where F: Fold + ?Sized, { ExprContinue { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - continue_token: Token![continue](tokens_helper(f, &node.continue_token.span)), + continue_token: node.continue_token, label: (node.label).map(|it| f.fold_lifetime(it)), } } @@ -1300,7 +1215,7 @@ where ExprField { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), base: Box::new(f.fold_expr(*node.base)), - dot_token: Token![.](tokens_helper(f, &node.dot_token.spans)), + dot_token: node.dot_token, member: f.fold_member(node.member), } } @@ -1312,21 +1227,21 @@ where ExprForLoop { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), label: (node.label).map(|it| f.fold_label(it)), - for_token: Token![for](tokens_helper(f, &node.for_token.span)), - pat: f.fold_pat(node.pat), - in_token: Token![in](tokens_helper(f, &node.in_token.span)), + for_token: node.for_token, + pat: Box::new(f.fold_pat(*node.pat)), + in_token: node.in_token, expr: Box::new(f.fold_expr(*node.expr)), body: f.fold_block(node.body), } } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] pub fn fold_expr_group(f: &mut F, node: ExprGroup) -> ExprGroup where F: Fold + ?Sized, { ExprGroup { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - group_token: Group(tokens_helper(f, &node.group_token.span)), + group_token: node.group_token, expr: Box::new(f.fold_expr(*node.expr)), } } @@ -1337,14 +1252,11 @@ where { ExprIf { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - if_token: Token![if](tokens_helper(f, &node.if_token.span)), + if_token: node.if_token, cond: Box::new(f.fold_expr(*node.cond)), then_branch: f.fold_block(node.then_branch), else_branch: (node.else_branch) - .map(|it| ( - Token![else](tokens_helper(f, &(it).0.span)), - Box::new(f.fold_expr(*(it).1)), - )), + .map(|it| ((it).0, Box::new(f.fold_expr(*(it).1)))), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1355,20 +1267,30 @@ where ExprIndex { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), expr: Box::new(f.fold_expr(*node.expr)), - bracket_token: Bracket(tokens_helper(f, &node.bracket_token.span)), + bracket_token: node.bracket_token, index: Box::new(f.fold_expr(*node.index)), } } #[cfg(feature = "full")] +pub fn fold_expr_infer(f: &mut F, node: ExprInfer) -> ExprInfer +where + F: Fold + ?Sized, +{ + ExprInfer { + attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), + underscore_token: node.underscore_token, + } +} +#[cfg(feature = "full")] pub fn fold_expr_let(f: &mut F, node: ExprLet) -> ExprLet where F: Fold + ?Sized, { ExprLet { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - let_token: Token![let](tokens_helper(f, &node.let_token.span)), - pat: f.fold_pat(node.pat), - eq_token: Token![=](tokens_helper(f, &node.eq_token.spans)), + let_token: node.let_token, + pat: Box::new(f.fold_pat(*node.pat)), + eq_token: node.eq_token, expr: Box::new(f.fold_expr(*node.expr)), } } @@ -1390,11 +1312,11 @@ where ExprLoop { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), label: (node.label).map(|it| f.fold_label(it)), - loop_token: Token![loop](tokens_helper(f, &node.loop_token.span)), + loop_token: node.loop_token, body: f.fold_block(node.body), } } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] pub fn fold_expr_macro(f: &mut F, node: ExprMacro) -> ExprMacro where F: Fold + ?Sized, @@ -1411,9 +1333,9 @@ where { ExprMatch { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - match_token: Token![match](tokens_helper(f, &node.match_token.span)), + match_token: node.match_token, expr: Box::new(f.fold_expr(*node.expr)), - brace_token: Brace(tokens_helper(f, &node.brace_token.span)), + brace_token: node.brace_token, arms: FoldHelper::lift(node.arms, |it| f.fold_arm(it)), } } @@ -1425,10 +1347,11 @@ where ExprMethodCall { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), receiver: Box::new(f.fold_expr(*node.receiver)), - dot_token: Token![.](tokens_helper(f, &node.dot_token.spans)), + dot_token: node.dot_token, method: f.fold_ident(node.method), - turbofish: (node.turbofish).map(|it| f.fold_method_turbofish(it)), - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), + turbofish: (node.turbofish) + .map(|it| f.fold_angle_bracketed_generic_arguments(it)), + paren_token: node.paren_token, args: FoldHelper::lift(node.args, |it| f.fold_expr(it)), } } @@ -1439,7 +1362,7 @@ where { ExprParen { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), + paren_token: node.paren_token, expr: Box::new(f.fold_expr(*node.expr)), } } @@ -1461,9 +1384,9 @@ where { ExprRange { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - from: (node.from).map(|it| Box::new(f.fold_expr(*it))), + start: (node.start).map(|it| Box::new(f.fold_expr(*it))), limits: f.fold_range_limits(node.limits), - to: (node.to).map(|it| Box::new(f.fold_expr(*it))), + end: (node.end).map(|it| Box::new(f.fold_expr(*it))), } } #[cfg(feature = "full")] @@ -1473,9 +1396,8 @@ where { ExprReference { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - and_token: Token![&](tokens_helper(f, &node.and_token.spans)), - raw: node.raw, - mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))), + and_token: node.and_token, + mutability: node.mutability, expr: Box::new(f.fold_expr(*node.expr)), } } @@ -1486,9 +1408,9 @@ where { ExprRepeat { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - bracket_token: Bracket(tokens_helper(f, &node.bracket_token.span)), + bracket_token: node.bracket_token, expr: Box::new(f.fold_expr(*node.expr)), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + semi_token: node.semi_token, len: Box::new(f.fold_expr(*node.len)), } } @@ -1499,7 +1421,7 @@ where { ExprReturn { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - return_token: Token![return](tokens_helper(f, &node.return_token.span)), + return_token: node.return_token, expr: (node.expr).map(|it| Box::new(f.fold_expr(*it))), } } @@ -1510,10 +1432,11 @@ where { ExprStruct { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), + qself: (node.qself).map(|it| f.fold_qself(it)), path: f.fold_path(node.path), - brace_token: Brace(tokens_helper(f, &node.brace_token.span)), + brace_token: node.brace_token, fields: FoldHelper::lift(node.fields, |it| f.fold_field_value(it)), - dot2_token: (node.dot2_token).map(|it| Token![..](tokens_helper(f, &it.spans))), + dot2_token: node.dot2_token, rest: (node.rest).map(|it| Box::new(f.fold_expr(*it))), } } @@ -1525,7 +1448,7 @@ where ExprTry { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), expr: Box::new(f.fold_expr(*node.expr)), - question_token: Token![?](tokens_helper(f, &node.question_token.spans)), + question_token: node.question_token, } } #[cfg(feature = "full")] @@ -1535,7 +1458,7 @@ where { ExprTryBlock { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - try_token: Token![try](tokens_helper(f, &node.try_token.span)), + try_token: node.try_token, block: f.fold_block(node.block), } } @@ -1546,22 +1469,10 @@ where { ExprTuple { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), + paren_token: node.paren_token, elems: FoldHelper::lift(node.elems, |it| f.fold_expr(it)), } } -#[cfg(feature = "full")] -pub fn fold_expr_type(f: &mut F, node: ExprType) -> ExprType -where - F: Fold + ?Sized, -{ - ExprType { - attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - expr: Box::new(f.fold_expr(*node.expr)), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), - ty: Box::new(f.fold_type(*node.ty)), - } -} #[cfg(any(feature = "derive", feature = "full"))] pub fn fold_expr_unary(f: &mut F, node: ExprUnary) -> ExprUnary where @@ -1580,7 +1491,7 @@ where { ExprUnsafe { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - unsafe_token: Token![unsafe](tokens_helper(f, &node.unsafe_token.span)), + unsafe_token: node.unsafe_token, block: f.fold_block(node.block), } } @@ -1592,7 +1503,7 @@ where ExprWhile { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), label: (node.label).map(|it| f.fold_label(it)), - while_token: Token![while](tokens_helper(f, &node.while_token.span)), + while_token: node.while_token, cond: Box::new(f.fold_expr(*node.cond)), body: f.fold_block(node.body), } @@ -1604,7 +1515,7 @@ where { ExprYield { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - yield_token: Token![yield](tokens_helper(f, &node.yield_token.span)), + yield_token: node.yield_token, expr: (node.expr).map(|it| Box::new(f.fold_expr(*it))), } } @@ -1616,11 +1527,21 @@ where Field { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), + mutability: f.fold_field_mutability(node.mutability), ident: (node.ident).map(|it| f.fold_ident(it)), - colon_token: (node.colon_token).map(|it| Token![:](tokens_helper(f, &it.spans))), + colon_token: node.colon_token, ty: f.fold_type(node.ty), } } +#[cfg(any(feature = "derive", feature = "full"))] +pub fn fold_field_mutability(f: &mut F, node: FieldMutability) -> FieldMutability +where + F: Fold + ?Sized, +{ + match node { + FieldMutability::None => FieldMutability::None, + } +} #[cfg(feature = "full")] pub fn fold_field_pat(f: &mut F, node: FieldPat) -> FieldPat where @@ -1629,7 +1550,7 @@ where FieldPat { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), member: f.fold_member(node.member), - colon_token: (node.colon_token).map(|it| Token![:](tokens_helper(f, &it.spans))), + colon_token: node.colon_token, pat: Box::new(f.fold_pat(*node.pat)), } } @@ -1641,7 +1562,7 @@ where FieldValue { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), member: f.fold_member(node.member), - colon_token: (node.colon_token).map(|it| Token![:](tokens_helper(f, &it.spans))), + colon_token: node.colon_token, expr: f.fold_expr(node.expr), } } @@ -1662,7 +1583,7 @@ where F: Fold + ?Sized, { FieldsNamed { - brace_token: Brace(tokens_helper(f, &node.brace_token.span)), + brace_token: node.brace_token, named: FoldHelper::lift(node.named, |it| f.fold_field(it)), } } @@ -1672,7 +1593,7 @@ where F: Fold + ?Sized, { FieldsUnnamed { - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), + paren_token: node.paren_token, unnamed: FoldHelper::lift(node.unnamed, |it| f.fold_field(it)), } } @@ -1716,8 +1637,6 @@ where ForeignItem::Macro(f.fold_foreign_item_macro(_binding_0)) } ForeignItem::Verbatim(_binding_0) => ForeignItem::Verbatim(_binding_0), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -1729,7 +1648,7 @@ where attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), sig: f.fold_signature(node.sig), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -1740,7 +1659,7 @@ where ForeignItemMacro { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), mac: f.fold_macro(node.mac), - semi_token: (node.semi_token).map(|it| Token![;](tokens_helper(f, &it.spans))), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -1754,12 +1673,12 @@ where ForeignItemStatic { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - static_token: Token![static](tokens_helper(f, &node.static_token.span)), - mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))), + static_token: node.static_token, + mutability: f.fold_static_mutability(node.mutability), ident: f.fold_ident(node.ident), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), + colon_token: node.colon_token, ty: Box::new(f.fold_type(*node.ty)), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -1770,9 +1689,10 @@ where ForeignItemType { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - type_token: Token![type](tokens_helper(f, &node.type_token.span)), + type_token: node.type_token, ident: f.fold_ident(node.ident), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + generics: f.fold_generics(node.generics), + semi_token: node.semi_token, } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1790,43 +1710,29 @@ where GenericArgument::Const(_binding_0) => { GenericArgument::Const(f.fold_expr(_binding_0)) } - GenericArgument::Binding(_binding_0) => { - GenericArgument::Binding(f.fold_binding(_binding_0)) + GenericArgument::AssocType(_binding_0) => { + GenericArgument::AssocType(f.fold_assoc_type(_binding_0)) + } + GenericArgument::AssocConst(_binding_0) => { + GenericArgument::AssocConst(f.fold_assoc_const(_binding_0)) } GenericArgument::Constraint(_binding_0) => { GenericArgument::Constraint(f.fold_constraint(_binding_0)) } } } -#[cfg(feature = "full")] -pub fn fold_generic_method_argument( - f: &mut F, - node: GenericMethodArgument, -) -> GenericMethodArgument -where - F: Fold + ?Sized, -{ - match node { - GenericMethodArgument::Type(_binding_0) => { - GenericMethodArgument::Type(f.fold_type(_binding_0)) - } - GenericMethodArgument::Const(_binding_0) => { - GenericMethodArgument::Const(f.fold_expr(_binding_0)) - } - } -} #[cfg(any(feature = "derive", feature = "full"))] pub fn fold_generic_param(f: &mut F, node: GenericParam) -> GenericParam where F: Fold + ?Sized, { match node { + GenericParam::Lifetime(_binding_0) => { + GenericParam::Lifetime(f.fold_lifetime_param(_binding_0)) + } GenericParam::Type(_binding_0) => { GenericParam::Type(f.fold_type_param(_binding_0)) } - GenericParam::Lifetime(_binding_0) => { - GenericParam::Lifetime(f.fold_lifetime_def(_binding_0)) - } GenericParam::Const(_binding_0) => { GenericParam::Const(f.fold_const_param(_binding_0)) } @@ -1838,9 +1744,9 @@ where F: Fold + ?Sized, { Generics { - lt_token: (node.lt_token).map(|it| Token![<](tokens_helper(f, &it.spans))), + lt_token: node.lt_token, params: FoldHelper::lift(node.params, |it| f.fold_generic_param(it)), - gt_token: (node.gt_token).map(|it| Token![>](tokens_helper(f, &it.spans))), + gt_token: node.gt_token, where_clause: (node.where_clause).map(|it| f.fold_where_clause(it)), } } @@ -1862,16 +1768,12 @@ where ImplItem::Const(_binding_0) => { ImplItem::Const(f.fold_impl_item_const(_binding_0)) } - ImplItem::Method(_binding_0) => { - ImplItem::Method(f.fold_impl_item_method(_binding_0)) - } + ImplItem::Fn(_binding_0) => ImplItem::Fn(f.fold_impl_item_fn(_binding_0)), ImplItem::Type(_binding_0) => ImplItem::Type(f.fold_impl_item_type(_binding_0)), ImplItem::Macro(_binding_0) => { ImplItem::Macro(f.fold_impl_item_macro(_binding_0)) } ImplItem::Verbatim(_binding_0) => ImplItem::Verbatim(_binding_0), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -1882,40 +1784,39 @@ where ImplItemConst { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - defaultness: (node.defaultness) - .map(|it| Token![default](tokens_helper(f, &it.span))), - const_token: Token![const](tokens_helper(f, &node.const_token.span)), + defaultness: node.defaultness, + const_token: node.const_token, ident: f.fold_ident(node.ident), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), + generics: f.fold_generics(node.generics), + colon_token: node.colon_token, ty: f.fold_type(node.ty), - eq_token: Token![=](tokens_helper(f, &node.eq_token.spans)), + eq_token: node.eq_token, expr: f.fold_expr(node.expr), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + semi_token: node.semi_token, } } #[cfg(feature = "full")] -pub fn fold_impl_item_macro(f: &mut F, node: ImplItemMacro) -> ImplItemMacro +pub fn fold_impl_item_fn(f: &mut F, node: ImplItemFn) -> ImplItemFn where F: Fold + ?Sized, { - ImplItemMacro { + ImplItemFn { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - mac: f.fold_macro(node.mac), - semi_token: (node.semi_token).map(|it| Token![;](tokens_helper(f, &it.spans))), + vis: f.fold_visibility(node.vis), + defaultness: node.defaultness, + sig: f.fold_signature(node.sig), + block: f.fold_block(node.block), } } #[cfg(feature = "full")] -pub fn fold_impl_item_method(f: &mut F, node: ImplItemMethod) -> ImplItemMethod +pub fn fold_impl_item_macro(f: &mut F, node: ImplItemMacro) -> ImplItemMacro where F: Fold + ?Sized, { - ImplItemMethod { + ImplItemMacro { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - vis: f.fold_visibility(node.vis), - defaultness: (node.defaultness) - .map(|it| Token![default](tokens_helper(f, &it.span))), - sig: f.fold_signature(node.sig), - block: f.fold_block(node.block), + mac: f.fold_macro(node.mac), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -1926,16 +1827,22 @@ where ImplItemType { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - defaultness: (node.defaultness) - .map(|it| Token![default](tokens_helper(f, &it.span))), - type_token: Token![type](tokens_helper(f, &node.type_token.span)), + defaultness: node.defaultness, + type_token: node.type_token, ident: f.fold_ident(node.ident), generics: f.fold_generics(node.generics), - eq_token: Token![=](tokens_helper(f, &node.eq_token.spans)), + eq_token: node.eq_token, ty: f.fold_type(node.ty), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + semi_token: node.semi_token, } } +#[cfg(feature = "full")] +pub fn fold_impl_restriction(f: &mut F, node: ImplRestriction) -> ImplRestriction +where + F: Fold + ?Sized, +{ + match node {} +} #[cfg(any(feature = "derive", feature = "full"))] pub fn fold_index(f: &mut F, node: Index) -> Index where @@ -1963,7 +1870,6 @@ where } Item::Impl(_binding_0) => Item::Impl(f.fold_item_impl(_binding_0)), Item::Macro(_binding_0) => Item::Macro(f.fold_item_macro(_binding_0)), - Item::Macro2(_binding_0) => Item::Macro2(f.fold_item_macro2(_binding_0)), Item::Mod(_binding_0) => Item::Mod(f.fold_item_mod(_binding_0)), Item::Static(_binding_0) => Item::Static(f.fold_item_static(_binding_0)), Item::Struct(_binding_0) => Item::Struct(f.fold_item_struct(_binding_0)), @@ -1975,8 +1881,6 @@ where Item::Union(_binding_0) => Item::Union(f.fold_item_union(_binding_0)), Item::Use(_binding_0) => Item::Use(f.fold_item_use(_binding_0)), Item::Verbatim(_binding_0) => Item::Verbatim(_binding_0), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -1987,13 +1891,14 @@ where ItemConst { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - const_token: Token![const](tokens_helper(f, &node.const_token.span)), + const_token: node.const_token, ident: f.fold_ident(node.ident), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), + generics: f.fold_generics(node.generics), + colon_token: node.colon_token, ty: Box::new(f.fold_type(*node.ty)), - eq_token: Token![=](tokens_helper(f, &node.eq_token.spans)), + eq_token: node.eq_token, expr: Box::new(f.fold_expr(*node.expr)), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -2004,10 +1909,10 @@ where ItemEnum { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - enum_token: Token![enum](tokens_helper(f, &node.enum_token.span)), + enum_token: node.enum_token, ident: f.fold_ident(node.ident), generics: f.fold_generics(node.generics), - brace_token: Brace(tokens_helper(f, &node.brace_token.span)), + brace_token: node.brace_token, variants: FoldHelper::lift(node.variants, |it| f.fold_variant(it)), } } @@ -2019,15 +1924,11 @@ where ItemExternCrate { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - extern_token: Token![extern](tokens_helper(f, &node.extern_token.span)), - crate_token: Token![crate](tokens_helper(f, &node.crate_token.span)), + extern_token: node.extern_token, + crate_token: node.crate_token, ident: f.fold_ident(node.ident), - rename: (node.rename) - .map(|it| ( - Token![as](tokens_helper(f, &(it).0.span)), - f.fold_ident((it).1), - )), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + rename: (node.rename).map(|it| ((it).0, f.fold_ident((it).1))), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -2049,8 +1950,9 @@ where { ItemForeignMod { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), + unsafety: node.unsafety, abi: f.fold_abi(node.abi), - brace_token: Brace(tokens_helper(f, &node.brace_token.span)), + brace_token: node.brace_token, items: FoldHelper::lift(node.items, |it| f.fold_foreign_item(it)), } } @@ -2061,19 +1963,13 @@ where { ItemImpl { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - defaultness: (node.defaultness) - .map(|it| Token![default](tokens_helper(f, &it.span))), - unsafety: (node.unsafety).map(|it| Token![unsafe](tokens_helper(f, &it.span))), - impl_token: Token![impl](tokens_helper(f, &node.impl_token.span)), + defaultness: node.defaultness, + unsafety: node.unsafety, + impl_token: node.impl_token, generics: f.fold_generics(node.generics), - trait_: (node.trait_) - .map(|it| ( - ((it).0).map(|it| Token![!](tokens_helper(f, &it.spans))), - f.fold_path((it).1), - Token![for](tokens_helper(f, &(it).2.span)), - )), + trait_: (node.trait_).map(|it| ((it).0, f.fold_path((it).1), (it).2)), self_ty: Box::new(f.fold_type(*node.self_ty)), - brace_token: Brace(tokens_helper(f, &node.brace_token.span)), + brace_token: node.brace_token, items: FoldHelper::lift(node.items, |it| f.fold_impl_item(it)), } } @@ -2086,20 +1982,7 @@ where attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), ident: (node.ident).map(|it| f.fold_ident(it)), mac: f.fold_macro(node.mac), - semi_token: (node.semi_token).map(|it| Token![;](tokens_helper(f, &it.spans))), - } -} -#[cfg(feature = "full")] -pub fn fold_item_macro2(f: &mut F, node: ItemMacro2) -> ItemMacro2 -where - F: Fold + ?Sized, -{ - ItemMacro2 { - attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - vis: f.fold_visibility(node.vis), - macro_token: Token![macro](tokens_helper(f, &node.macro_token.span)), - ident: f.fold_ident(node.ident), - rules: node.rules, + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -2110,14 +1993,12 @@ where ItemMod { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - mod_token: Token![mod](tokens_helper(f, &node.mod_token.span)), + unsafety: node.unsafety, + mod_token: node.mod_token, ident: f.fold_ident(node.ident), content: (node.content) - .map(|it| ( - Brace(tokens_helper(f, &(it).0.span)), - FoldHelper::lift((it).1, |it| f.fold_item(it)), - )), - semi: (node.semi).map(|it| Token![;](tokens_helper(f, &it.spans))), + .map(|it| ((it).0, FoldHelper::lift((it).1, |it| f.fold_item(it)))), + semi: node.semi, } } #[cfg(feature = "full")] @@ -2128,14 +2009,14 @@ where ItemStatic { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - static_token: Token![static](tokens_helper(f, &node.static_token.span)), - mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))), + static_token: node.static_token, + mutability: f.fold_static_mutability(node.mutability), ident: f.fold_ident(node.ident), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), + colon_token: node.colon_token, ty: Box::new(f.fold_type(*node.ty)), - eq_token: Token![=](tokens_helper(f, &node.eq_token.spans)), + eq_token: node.eq_token, expr: Box::new(f.fold_expr(*node.expr)), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -2146,11 +2027,11 @@ where ItemStruct { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - struct_token: Token![struct](tokens_helper(f, &node.struct_token.span)), + struct_token: node.struct_token, ident: f.fold_ident(node.ident), generics: f.fold_generics(node.generics), fields: f.fold_fields(node.fields), - semi_token: (node.semi_token).map(|it| Token![;](tokens_helper(f, &it.spans))), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -2161,17 +2042,18 @@ where ItemTrait { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - unsafety: (node.unsafety).map(|it| Token![unsafe](tokens_helper(f, &it.span))), - auto_token: (node.auto_token).map(|it| Token![auto](tokens_helper(f, &it.span))), - trait_token: Token![trait](tokens_helper(f, &node.trait_token.span)), + unsafety: node.unsafety, + auto_token: node.auto_token, + restriction: (node.restriction).map(|it| f.fold_impl_restriction(it)), + trait_token: node.trait_token, ident: f.fold_ident(node.ident), generics: f.fold_generics(node.generics), - colon_token: (node.colon_token).map(|it| Token![:](tokens_helper(f, &it.spans))), + colon_token: node.colon_token, supertraits: FoldHelper::lift( node.supertraits, |it| f.fold_type_param_bound(it), ), - brace_token: Brace(tokens_helper(f, &node.brace_token.span)), + brace_token: node.brace_token, items: FoldHelper::lift(node.items, |it| f.fold_trait_item(it)), } } @@ -2183,12 +2065,12 @@ where ItemTraitAlias { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - trait_token: Token![trait](tokens_helper(f, &node.trait_token.span)), + trait_token: node.trait_token, ident: f.fold_ident(node.ident), generics: f.fold_generics(node.generics), - eq_token: Token![=](tokens_helper(f, &node.eq_token.spans)), + eq_token: node.eq_token, bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -2199,12 +2081,12 @@ where ItemType { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - type_token: Token![type](tokens_helper(f, &node.type_token.span)), + type_token: node.type_token, ident: f.fold_ident(node.ident), generics: f.fold_generics(node.generics), - eq_token: Token![=](tokens_helper(f, &node.eq_token.spans)), + eq_token: node.eq_token, ty: Box::new(f.fold_type(*node.ty)), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -2215,7 +2097,7 @@ where ItemUnion { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - union_token: Token![union](tokens_helper(f, &node.union_token.span)), + union_token: node.union_token, ident: f.fold_ident(node.ident), generics: f.fold_generics(node.generics), fields: f.fold_fields_named(node.fields), @@ -2229,11 +2111,10 @@ where ItemUse { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), vis: f.fold_visibility(node.vis), - use_token: Token![use](tokens_helper(f, &node.use_token.span)), - leading_colon: (node.leading_colon) - .map(|it| Token![::](tokens_helper(f, &it.spans))), + use_token: node.use_token, + leading_colon: node.leading_colon, tree: f.fold_use_tree(node.tree), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -2243,7 +2124,7 @@ where { Label { name: f.fold_lifetime(node.name), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), + colon_token: node.colon_token, } } pub fn fold_lifetime(f: &mut F, node: Lifetime) -> Lifetime @@ -2256,14 +2137,14 @@ where } } #[cfg(any(feature = "derive", feature = "full"))] -pub fn fold_lifetime_def(f: &mut F, node: LifetimeDef) -> LifetimeDef +pub fn fold_lifetime_param(f: &mut F, node: LifetimeParam) -> LifetimeParam where F: Fold + ?Sized, { - LifetimeDef { + LifetimeParam { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), lifetime: f.fold_lifetime(node.lifetime), - colon_token: (node.colon_token).map(|it| Token![:](tokens_helper(f, &it.spans))), + colon_token: node.colon_token, bounds: FoldHelper::lift(node.bounds, |it| f.fold_lifetime(it)), } } @@ -2352,14 +2233,21 @@ where { Local { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - let_token: Token![let](tokens_helper(f, &node.let_token.span)), + let_token: node.let_token, pat: f.fold_pat(node.pat), - init: (node.init) - .map(|it| ( - Token![=](tokens_helper(f, &(it).0.spans)), - Box::new(f.fold_expr(*(it).1)), - )), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + init: (node.init).map(|it| f.fold_local_init(it)), + semi_token: node.semi_token, + } +} +#[cfg(feature = "full")] +pub fn fold_local_init(f: &mut F, node: LocalInit) -> LocalInit +where + F: Fold + ?Sized, +{ + LocalInit { + eq_token: node.eq_token, + expr: Box::new(f.fold_expr(*node.expr)), + diverge: (node.diverge).map(|it| ((it).0, Box::new(f.fold_expr(*(it).1)))), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2369,7 +2257,7 @@ where { Macro { path: f.fold_path(node.path), - bang_token: Token![!](tokens_helper(f, &node.bang_token.spans)), + bang_token: node.bang_token, delimiter: f.fold_macro_delimiter(node.delimiter), tokens: node.tokens, } @@ -2380,15 +2268,9 @@ where F: Fold + ?Sized, { match node { - MacroDelimiter::Paren(_binding_0) => { - MacroDelimiter::Paren(Paren(tokens_helper(f, &_binding_0.span))) - } - MacroDelimiter::Brace(_binding_0) => { - MacroDelimiter::Brace(Brace(tokens_helper(f, &_binding_0.span))) - } - MacroDelimiter::Bracket(_binding_0) => { - MacroDelimiter::Bracket(Bracket(tokens_helper(f, &_binding_0.span))) - } + MacroDelimiter::Paren(_binding_0) => MacroDelimiter::Paren(_binding_0), + MacroDelimiter::Brace(_binding_0) => MacroDelimiter::Brace(_binding_0), + MacroDelimiter::Bracket(_binding_0) => MacroDelimiter::Bracket(_binding_0), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2421,8 +2303,8 @@ where { MetaList { path: f.fold_path(node.path), - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), - nested: FoldHelper::lift(node.nested, |it| f.fold_nested_meta(it)), + delimiter: f.fold_macro_delimiter(node.delimiter), + tokens: node.tokens, } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2432,30 +2314,8 @@ where { MetaNameValue { path: f.fold_path(node.path), - eq_token: Token![=](tokens_helper(f, &node.eq_token.spans)), - lit: f.fold_lit(node.lit), - } -} -#[cfg(feature = "full")] -pub fn fold_method_turbofish(f: &mut F, node: MethodTurbofish) -> MethodTurbofish -where - F: Fold + ?Sized, -{ - MethodTurbofish { - colon2_token: Token![::](tokens_helper(f, &node.colon2_token.spans)), - lt_token: Token![<](tokens_helper(f, &node.lt_token.spans)), - args: FoldHelper::lift(node.args, |it| f.fold_generic_method_argument(it)), - gt_token: Token![>](tokens_helper(f, &node.gt_token.spans)), - } -} -#[cfg(any(feature = "derive", feature = "full"))] -pub fn fold_nested_meta(f: &mut F, node: NestedMeta) -> NestedMeta -where - F: Fold + ?Sized, -{ - match node { - NestedMeta::Meta(_binding_0) => NestedMeta::Meta(f.fold_meta(_binding_0)), - NestedMeta::Lit(_binding_0) => NestedMeta::Lit(f.fold_lit(_binding_0)), + eq_token: node.eq_token, + value: f.fold_expr(node.value), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2467,7 +2327,7 @@ where F: Fold + ?Sized, { ParenthesizedGenericArguments { - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), + paren_token: node.paren_token, inputs: FoldHelper::lift(node.inputs, |it| f.fold_type(it)), output: f.fold_return_type(node.output), } @@ -2478,13 +2338,14 @@ where F: Fold + ?Sized, { match node { - Pat::Box(_binding_0) => Pat::Box(f.fold_pat_box(_binding_0)), + Pat::Const(_binding_0) => Pat::Const(f.fold_expr_const(_binding_0)), Pat::Ident(_binding_0) => Pat::Ident(f.fold_pat_ident(_binding_0)), - Pat::Lit(_binding_0) => Pat::Lit(f.fold_pat_lit(_binding_0)), - Pat::Macro(_binding_0) => Pat::Macro(f.fold_pat_macro(_binding_0)), + Pat::Lit(_binding_0) => Pat::Lit(f.fold_expr_lit(_binding_0)), + Pat::Macro(_binding_0) => Pat::Macro(f.fold_expr_macro(_binding_0)), Pat::Or(_binding_0) => Pat::Or(f.fold_pat_or(_binding_0)), - Pat::Path(_binding_0) => Pat::Path(f.fold_pat_path(_binding_0)), - Pat::Range(_binding_0) => Pat::Range(f.fold_pat_range(_binding_0)), + Pat::Paren(_binding_0) => Pat::Paren(f.fold_pat_paren(_binding_0)), + Pat::Path(_binding_0) => Pat::Path(f.fold_expr_path(_binding_0)), + Pat::Range(_binding_0) => Pat::Range(f.fold_expr_range(_binding_0)), Pat::Reference(_binding_0) => Pat::Reference(f.fold_pat_reference(_binding_0)), Pat::Rest(_binding_0) => Pat::Rest(f.fold_pat_rest(_binding_0)), Pat::Slice(_binding_0) => Pat::Slice(f.fold_pat_slice(_binding_0)), @@ -2496,19 +2357,6 @@ where Pat::Type(_binding_0) => Pat::Type(f.fold_pat_type(_binding_0)), Pat::Verbatim(_binding_0) => Pat::Verbatim(_binding_0), Pat::Wild(_binding_0) => Pat::Wild(f.fold_pat_wild(_binding_0)), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), - } -} -#[cfg(feature = "full")] -pub fn fold_pat_box(f: &mut F, node: PatBox) -> PatBox -where - F: Fold + ?Sized, -{ - PatBox { - attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - box_token: Token![box](tokens_helper(f, &node.box_token.span)), - pat: Box::new(f.fold_pat(*node.pat)), } } #[cfg(feature = "full")] @@ -2518,34 +2366,10 @@ where { PatIdent { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - by_ref: (node.by_ref).map(|it| Token![ref](tokens_helper(f, &it.span))), - mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))), + by_ref: node.by_ref, + mutability: node.mutability, ident: f.fold_ident(node.ident), - subpat: (node.subpat) - .map(|it| ( - Token![@](tokens_helper(f, &(it).0.spans)), - Box::new(f.fold_pat(*(it).1)), - )), - } -} -#[cfg(feature = "full")] -pub fn fold_pat_lit(f: &mut F, node: PatLit) -> PatLit -where - F: Fold + ?Sized, -{ - PatLit { - attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - expr: Box::new(f.fold_expr(*node.expr)), - } -} -#[cfg(feature = "full")] -pub fn fold_pat_macro(f: &mut F, node: PatMacro) -> PatMacro -where - F: Fold + ?Sized, -{ - PatMacro { - attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - mac: f.fold_macro(node.mac), + subpat: (node.subpat).map(|it| ((it).0, Box::new(f.fold_pat(*(it).1)))), } } #[cfg(feature = "full")] @@ -2555,32 +2379,19 @@ where { PatOr { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - leading_vert: (node.leading_vert) - .map(|it| Token![|](tokens_helper(f, &it.spans))), + leading_vert: node.leading_vert, cases: FoldHelper::lift(node.cases, |it| f.fold_pat(it)), } } #[cfg(feature = "full")] -pub fn fold_pat_path(f: &mut F, node: PatPath) -> PatPath +pub fn fold_pat_paren(f: &mut F, node: PatParen) -> PatParen where F: Fold + ?Sized, { - PatPath { + PatParen { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - qself: (node.qself).map(|it| f.fold_qself(it)), - path: f.fold_path(node.path), - } -} -#[cfg(feature = "full")] -pub fn fold_pat_range(f: &mut F, node: PatRange) -> PatRange -where - F: Fold + ?Sized, -{ - PatRange { - attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - lo: Box::new(f.fold_expr(*node.lo)), - limits: f.fold_range_limits(node.limits), - hi: Box::new(f.fold_expr(*node.hi)), + paren_token: node.paren_token, + pat: Box::new(f.fold_pat(*node.pat)), } } #[cfg(feature = "full")] @@ -2590,8 +2401,8 @@ where { PatReference { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - and_token: Token![&](tokens_helper(f, &node.and_token.spans)), - mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))), + and_token: node.and_token, + mutability: node.mutability, pat: Box::new(f.fold_pat(*node.pat)), } } @@ -2602,7 +2413,7 @@ where { PatRest { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - dot2_token: Token![..](tokens_helper(f, &node.dot2_token.spans)), + dot2_token: node.dot2_token, } } #[cfg(feature = "full")] @@ -2612,7 +2423,7 @@ where { PatSlice { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - bracket_token: Bracket(tokens_helper(f, &node.bracket_token.span)), + bracket_token: node.bracket_token, elems: FoldHelper::lift(node.elems, |it| f.fold_pat(it)), } } @@ -2623,10 +2434,11 @@ where { PatStruct { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), + qself: (node.qself).map(|it| f.fold_qself(it)), path: f.fold_path(node.path), - brace_token: Brace(tokens_helper(f, &node.brace_token.span)), + brace_token: node.brace_token, fields: FoldHelper::lift(node.fields, |it| f.fold_field_pat(it)), - dot2_token: (node.dot2_token).map(|it| Token![..](tokens_helper(f, &it.spans))), + rest: (node.rest).map(|it| f.fold_pat_rest(it)), } } #[cfg(feature = "full")] @@ -2636,7 +2448,7 @@ where { PatTuple { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), + paren_token: node.paren_token, elems: FoldHelper::lift(node.elems, |it| f.fold_pat(it)), } } @@ -2647,8 +2459,10 @@ where { PatTupleStruct { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), + qself: (node.qself).map(|it| f.fold_qself(it)), path: f.fold_path(node.path), - pat: f.fold_pat_tuple(node.pat), + paren_token: node.paren_token, + elems: FoldHelper::lift(node.elems, |it| f.fold_pat(it)), } } #[cfg(feature = "full")] @@ -2659,7 +2473,7 @@ where PatType { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), pat: Box::new(f.fold_pat(*node.pat)), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), + colon_token: node.colon_token, ty: Box::new(f.fold_type(*node.ty)), } } @@ -2670,7 +2484,7 @@ where { PatWild { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - underscore_token: Token![_](tokens_helper(f, &node.underscore_token.spans)), + underscore_token: node.underscore_token, } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2679,8 +2493,7 @@ where F: Fold + ?Sized, { Path { - leading_colon: (node.leading_colon) - .map(|it| Token![::](tokens_helper(f, &it.spans))), + leading_colon: node.leading_colon, segments: FoldHelper::lift(node.segments, |it| f.fold_path_segment(it)), } } @@ -2714,17 +2527,6 @@ where } } #[cfg(any(feature = "derive", feature = "full"))] -pub fn fold_predicate_eq(f: &mut F, node: PredicateEq) -> PredicateEq -where - F: Fold + ?Sized, -{ - PredicateEq { - lhs_ty: f.fold_type(node.lhs_ty), - eq_token: Token![=](tokens_helper(f, &node.eq_token.spans)), - rhs_ty: f.fold_type(node.rhs_ty), - } -} -#[cfg(any(feature = "derive", feature = "full"))] pub fn fold_predicate_lifetime( f: &mut F, node: PredicateLifetime, @@ -2734,7 +2536,7 @@ where { PredicateLifetime { lifetime: f.fold_lifetime(node.lifetime), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), + colon_token: node.colon_token, bounds: FoldHelper::lift(node.bounds, |it| f.fold_lifetime(it)), } } @@ -2746,7 +2548,7 @@ where PredicateType { lifetimes: (node.lifetimes).map(|it| f.fold_bound_lifetimes(it)), bounded_ty: f.fold_type(node.bounded_ty), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), + colon_token: node.colon_token, bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)), } } @@ -2756,11 +2558,11 @@ where F: Fold + ?Sized, { QSelf { - lt_token: Token![<](tokens_helper(f, &node.lt_token.spans)), + lt_token: node.lt_token, ty: Box::new(f.fold_type(*node.ty)), position: node.position, - as_token: (node.as_token).map(|it| Token![as](tokens_helper(f, &it.span))), - gt_token: Token![>](tokens_helper(f, &node.gt_token.spans)), + as_token: node.as_token, + gt_token: node.gt_token, } } #[cfg(feature = "full")] @@ -2769,12 +2571,8 @@ where F: Fold + ?Sized, { match node { - RangeLimits::HalfOpen(_binding_0) => { - RangeLimits::HalfOpen(Token![..](tokens_helper(f, &_binding_0.spans))) - } - RangeLimits::Closed(_binding_0) => { - RangeLimits::Closed(Token![..=](tokens_helper(f, &_binding_0.spans))) - } + RangeLimits::HalfOpen(_binding_0) => RangeLimits::HalfOpen(_binding_0), + RangeLimits::Closed(_binding_0) => RangeLimits::Closed(_binding_0), } } #[cfg(feature = "full")] @@ -2785,12 +2583,11 @@ where Receiver { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), reference: (node.reference) - .map(|it| ( - Token![&](tokens_helper(f, &(it).0.spans)), - ((it).1).map(|it| f.fold_lifetime(it)), - )), - mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))), - self_token: Token![self](tokens_helper(f, &node.self_token.span)), + .map(|it| ((it).0, ((it).1).map(|it| f.fold_lifetime(it)))), + mutability: node.mutability, + self_token: node.self_token, + colon_token: node.colon_token, + ty: Box::new(f.fold_type(*node.ty)), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2801,10 +2598,7 @@ where match node { ReturnType::Default => ReturnType::Default, ReturnType::Type(_binding_0, _binding_1) => { - ReturnType::Type( - Token![->](tokens_helper(f, &_binding_0.spans)), - Box::new(f.fold_type(*_binding_1)), - ) + ReturnType::Type(_binding_0, Box::new(f.fold_type(*_binding_1))) } } } @@ -2814,14 +2608,14 @@ where F: Fold + ?Sized, { Signature { - constness: (node.constness).map(|it| Token![const](tokens_helper(f, &it.span))), - asyncness: (node.asyncness).map(|it| Token![async](tokens_helper(f, &it.span))), - unsafety: (node.unsafety).map(|it| Token![unsafe](tokens_helper(f, &it.span))), + constness: node.constness, + asyncness: node.asyncness, + unsafety: node.unsafety, abi: (node.abi).map(|it| f.fold_abi(it)), - fn_token: Token![fn](tokens_helper(f, &node.fn_token.span)), + fn_token: node.fn_token, ident: f.fold_ident(node.ident), generics: f.fold_generics(node.generics), - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), + paren_token: node.paren_token, inputs: FoldHelper::lift(node.inputs, |it| f.fold_fn_arg(it)), variadic: (node.variadic).map(|it| f.fold_variadic(it)), output: f.fold_return_type(node.output), @@ -2834,6 +2628,16 @@ where node } #[cfg(feature = "full")] +pub fn fold_static_mutability(f: &mut F, node: StaticMutability) -> StaticMutability +where + F: Fold + ?Sized, +{ + match node { + StaticMutability::Mut(_binding_0) => StaticMutability::Mut(_binding_0), + StaticMutability::None => StaticMutability::None, + } +} +#[cfg(feature = "full")] pub fn fold_stmt(f: &mut F, node: Stmt) -> Stmt where F: Fold + ?Sized, @@ -2841,13 +2645,21 @@ where match node { Stmt::Local(_binding_0) => Stmt::Local(f.fold_local(_binding_0)), Stmt::Item(_binding_0) => Stmt::Item(f.fold_item(_binding_0)), - Stmt::Expr(_binding_0) => Stmt::Expr(f.fold_expr(_binding_0)), - Stmt::Semi(_binding_0, _binding_1) => { - Stmt::Semi( - f.fold_expr(_binding_0), - Token![;](tokens_helper(f, &_binding_1.spans)), - ) + Stmt::Expr(_binding_0, _binding_1) => { + Stmt::Expr(f.fold_expr(_binding_0), _binding_1) } + Stmt::Macro(_binding_0) => Stmt::Macro(f.fold_stmt_macro(_binding_0)), + } +} +#[cfg(feature = "full")] +pub fn fold_stmt_macro(f: &mut F, node: StmtMacro) -> StmtMacro +where + F: Fold + ?Sized, +{ + StmtMacro { + attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), + mac: f.fold_macro(node.mac), + semi_token: node.semi_token, } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2856,7 +2668,7 @@ where F: Fold + ?Sized, { TraitBound { - paren_token: (node.paren_token).map(|it| Paren(tokens_helper(f, &it.span))), + paren_token: node.paren_token, modifier: f.fold_trait_bound_modifier(node.modifier), lifetimes: (node.lifetimes).map(|it| f.fold_bound_lifetimes(it)), path: f.fold_path(node.path), @@ -2872,9 +2684,7 @@ where { match node { TraitBoundModifier::None => TraitBoundModifier::None, - TraitBoundModifier::Maybe(_binding_0) => { - TraitBoundModifier::Maybe(Token![?](tokens_helper(f, &_binding_0.spans))) - } + TraitBoundModifier::Maybe(_binding_0) => TraitBoundModifier::Maybe(_binding_0), } } #[cfg(feature = "full")] @@ -2886,9 +2696,7 @@ where TraitItem::Const(_binding_0) => { TraitItem::Const(f.fold_trait_item_const(_binding_0)) } - TraitItem::Method(_binding_0) => { - TraitItem::Method(f.fold_trait_item_method(_binding_0)) - } + TraitItem::Fn(_binding_0) => TraitItem::Fn(f.fold_trait_item_fn(_binding_0)), TraitItem::Type(_binding_0) => { TraitItem::Type(f.fold_trait_item_type(_binding_0)) } @@ -2896,8 +2704,6 @@ where TraitItem::Macro(f.fold_trait_item_macro(_binding_0)) } TraitItem::Verbatim(_binding_0) => TraitItem::Verbatim(_binding_0), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -2907,36 +2713,36 @@ where { TraitItemConst { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - const_token: Token![const](tokens_helper(f, &node.const_token.span)), + const_token: node.const_token, ident: f.fold_ident(node.ident), - colon_token: Token![:](tokens_helper(f, &node.colon_token.spans)), + generics: f.fold_generics(node.generics), + colon_token: node.colon_token, ty: f.fold_type(node.ty), - default: (node.default) - .map(|it| (Token![=](tokens_helper(f, &(it).0.spans)), f.fold_expr((it).1))), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + default: (node.default).map(|it| ((it).0, f.fold_expr((it).1))), + semi_token: node.semi_token, } } #[cfg(feature = "full")] -pub fn fold_trait_item_macro(f: &mut F, node: TraitItemMacro) -> TraitItemMacro +pub fn fold_trait_item_fn(f: &mut F, node: TraitItemFn) -> TraitItemFn where F: Fold + ?Sized, { - TraitItemMacro { + TraitItemFn { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - mac: f.fold_macro(node.mac), - semi_token: (node.semi_token).map(|it| Token![;](tokens_helper(f, &it.spans))), + sig: f.fold_signature(node.sig), + default: (node.default).map(|it| f.fold_block(it)), + semi_token: node.semi_token, } } #[cfg(feature = "full")] -pub fn fold_trait_item_method(f: &mut F, node: TraitItemMethod) -> TraitItemMethod +pub fn fold_trait_item_macro(f: &mut F, node: TraitItemMacro) -> TraitItemMacro where F: Fold + ?Sized, { - TraitItemMethod { + TraitItemMacro { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - sig: f.fold_signature(node.sig), - default: (node.default).map(|it| f.fold_block(it)), - semi_token: (node.semi_token).map(|it| Token![;](tokens_helper(f, &it.spans))), + mac: f.fold_macro(node.mac), + semi_token: node.semi_token, } } #[cfg(feature = "full")] @@ -2946,14 +2752,13 @@ where { TraitItemType { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - type_token: Token![type](tokens_helper(f, &node.type_token.span)), + type_token: node.type_token, ident: f.fold_ident(node.ident), generics: f.fold_generics(node.generics), - colon_token: (node.colon_token).map(|it| Token![:](tokens_helper(f, &it.spans))), + colon_token: node.colon_token, bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)), - default: (node.default) - .map(|it| (Token![=](tokens_helper(f, &(it).0.spans)), f.fold_type((it).1))), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + default: (node.default).map(|it| ((it).0, f.fold_type((it).1))), + semi_token: node.semi_token, } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2981,8 +2786,6 @@ where } Type::Tuple(_binding_0) => Type::Tuple(f.fold_type_tuple(_binding_0)), Type::Verbatim(_binding_0) => Type::Verbatim(_binding_0), - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2991,9 +2794,9 @@ where F: Fold + ?Sized, { TypeArray { - bracket_token: Bracket(tokens_helper(f, &node.bracket_token.span)), + bracket_token: node.bracket_token, elem: Box::new(f.fold_type(*node.elem)), - semi_token: Token![;](tokens_helper(f, &node.semi_token.spans)), + semi_token: node.semi_token, len: f.fold_expr(node.len), } } @@ -3004,12 +2807,12 @@ where { TypeBareFn { lifetimes: (node.lifetimes).map(|it| f.fold_bound_lifetimes(it)), - unsafety: (node.unsafety).map(|it| Token![unsafe](tokens_helper(f, &it.span))), + unsafety: node.unsafety, abi: (node.abi).map(|it| f.fold_abi(it)), - fn_token: Token![fn](tokens_helper(f, &node.fn_token.span)), - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), + fn_token: node.fn_token, + paren_token: node.paren_token, inputs: FoldHelper::lift(node.inputs, |it| f.fold_bare_fn_arg(it)), - variadic: (node.variadic).map(|it| f.fold_variadic(it)), + variadic: (node.variadic).map(|it| f.fold_bare_variadic(it)), output: f.fold_return_type(node.output), } } @@ -3019,7 +2822,7 @@ where F: Fold + ?Sized, { TypeGroup { - group_token: Group(tokens_helper(f, &node.group_token.span)), + group_token: node.group_token, elem: Box::new(f.fold_type(*node.elem)), } } @@ -3029,7 +2832,7 @@ where F: Fold + ?Sized, { TypeImplTrait { - impl_token: Token![impl](tokens_helper(f, &node.impl_token.span)), + impl_token: node.impl_token, bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)), } } @@ -3039,7 +2842,7 @@ where F: Fold + ?Sized, { TypeInfer { - underscore_token: Token![_](tokens_helper(f, &node.underscore_token.spans)), + underscore_token: node.underscore_token, } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3057,7 +2860,7 @@ where F: Fold + ?Sized, { TypeNever { - bang_token: Token![!](tokens_helper(f, &node.bang_token.spans)), + bang_token: node.bang_token, } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3068,9 +2871,9 @@ where TypeParam { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), ident: f.fold_ident(node.ident), - colon_token: (node.colon_token).map(|it| Token![:](tokens_helper(f, &it.spans))), + colon_token: node.colon_token, bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)), - eq_token: (node.eq_token).map(|it| Token![=](tokens_helper(f, &it.spans))), + eq_token: node.eq_token, default: (node.default).map(|it| f.fold_type(it)), } } @@ -3086,6 +2889,7 @@ where TypeParamBound::Lifetime(_binding_0) => { TypeParamBound::Lifetime(f.fold_lifetime(_binding_0)) } + TypeParamBound::Verbatim(_binding_0) => TypeParamBound::Verbatim(_binding_0), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3094,7 +2898,7 @@ where F: Fold + ?Sized, { TypeParen { - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), + paren_token: node.paren_token, elem: Box::new(f.fold_type(*node.elem)), } } @@ -3114,10 +2918,9 @@ where F: Fold + ?Sized, { TypePtr { - star_token: Token![*](tokens_helper(f, &node.star_token.spans)), - const_token: (node.const_token) - .map(|it| Token![const](tokens_helper(f, &it.span))), - mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))), + star_token: node.star_token, + const_token: node.const_token, + mutability: node.mutability, elem: Box::new(f.fold_type(*node.elem)), } } @@ -3127,9 +2930,9 @@ where F: Fold + ?Sized, { TypeReference { - and_token: Token![&](tokens_helper(f, &node.and_token.spans)), + and_token: node.and_token, lifetime: (node.lifetime).map(|it| f.fold_lifetime(it)), - mutability: (node.mutability).map(|it| Token![mut](tokens_helper(f, &it.span))), + mutability: node.mutability, elem: Box::new(f.fold_type(*node.elem)), } } @@ -3139,7 +2942,7 @@ where F: Fold + ?Sized, { TypeSlice { - bracket_token: Bracket(tokens_helper(f, &node.bracket_token.span)), + bracket_token: node.bracket_token, elem: Box::new(f.fold_type(*node.elem)), } } @@ -3149,7 +2952,7 @@ where F: Fold + ?Sized, { TypeTraitObject { - dyn_token: (node.dyn_token).map(|it| Token![dyn](tokens_helper(f, &it.span))), + dyn_token: node.dyn_token, bounds: FoldHelper::lift(node.bounds, |it| f.fold_type_param_bound(it)), } } @@ -3159,7 +2962,7 @@ where F: Fold + ?Sized, { TypeTuple { - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), + paren_token: node.paren_token, elems: FoldHelper::lift(node.elems, |it| f.fold_type(it)), } } @@ -3169,15 +2972,9 @@ where F: Fold + ?Sized, { match node { - UnOp::Deref(_binding_0) => { - UnOp::Deref(Token![*](tokens_helper(f, &_binding_0.spans))) - } - UnOp::Not(_binding_0) => { - UnOp::Not(Token![!](tokens_helper(f, &_binding_0.spans))) - } - UnOp::Neg(_binding_0) => { - UnOp::Neg(Token![-](tokens_helper(f, &_binding_0.spans))) - } + UnOp::Deref(_binding_0) => UnOp::Deref(_binding_0), + UnOp::Not(_binding_0) => UnOp::Not(_binding_0), + UnOp::Neg(_binding_0) => UnOp::Neg(_binding_0), } } #[cfg(feature = "full")] @@ -3186,7 +2983,7 @@ where F: Fold + ?Sized, { UseGlob { - star_token: Token![*](tokens_helper(f, &node.star_token.spans)), + star_token: node.star_token, } } #[cfg(feature = "full")] @@ -3195,7 +2992,7 @@ where F: Fold + ?Sized, { UseGroup { - brace_token: Brace(tokens_helper(f, &node.brace_token.span)), + brace_token: node.brace_token, items: FoldHelper::lift(node.items, |it| f.fold_use_tree(it)), } } @@ -3215,7 +3012,7 @@ where { UsePath { ident: f.fold_ident(node.ident), - colon2_token: Token![::](tokens_helper(f, &node.colon2_token.spans)), + colon2_token: node.colon2_token, tree: Box::new(f.fold_use_tree(*node.tree)), } } @@ -3226,7 +3023,7 @@ where { UseRename { ident: f.fold_ident(node.ident), - as_token: Token![as](tokens_helper(f, &node.as_token.span)), + as_token: node.as_token, rename: f.fold_ident(node.rename), } } @@ -3243,14 +3040,16 @@ where UseTree::Group(_binding_0) => UseTree::Group(f.fold_use_group(_binding_0)), } } -#[cfg(any(feature = "derive", feature = "full"))] +#[cfg(feature = "full")] pub fn fold_variadic(f: &mut F, node: Variadic) -> Variadic where F: Fold + ?Sized, { Variadic { attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), - dots: Token![...](tokens_helper(f, &node.dots.spans)), + pat: (node.pat).map(|it| (Box::new(f.fold_pat(*(it).0)), (it).1)), + dots: node.dots, + comma: node.comma, } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3262,26 +3061,7 @@ where attrs: FoldHelper::lift(node.attrs, |it| f.fold_attribute(it)), ident: f.fold_ident(node.ident), fields: f.fold_fields(node.fields), - discriminant: (node.discriminant) - .map(|it| (Token![=](tokens_helper(f, &(it).0.spans)), f.fold_expr((it).1))), - } -} -#[cfg(any(feature = "derive", feature = "full"))] -pub fn fold_vis_crate(f: &mut F, node: VisCrate) -> VisCrate -where - F: Fold + ?Sized, -{ - VisCrate { - crate_token: Token![crate](tokens_helper(f, &node.crate_token.span)), - } -} -#[cfg(any(feature = "derive", feature = "full"))] -pub fn fold_vis_public(f: &mut F, node: VisPublic) -> VisPublic -where - F: Fold + ?Sized, -{ - VisPublic { - pub_token: Token![pub](tokens_helper(f, &node.pub_token.span)), + discriminant: (node.discriminant).map(|it| ((it).0, f.fold_expr((it).1))), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3290,9 +3070,9 @@ where F: Fold + ?Sized, { VisRestricted { - pub_token: Token![pub](tokens_helper(f, &node.pub_token.span)), - paren_token: Paren(tokens_helper(f, &node.paren_token.span)), - in_token: (node.in_token).map(|it| Token![in](tokens_helper(f, &it.span))), + pub_token: node.pub_token, + paren_token: node.paren_token, + in_token: node.in_token, path: Box::new(f.fold_path(*node.path)), } } @@ -3302,10 +3082,7 @@ where F: Fold + ?Sized, { match node { - Visibility::Public(_binding_0) => { - Visibility::Public(f.fold_vis_public(_binding_0)) - } - Visibility::Crate(_binding_0) => Visibility::Crate(f.fold_vis_crate(_binding_0)), + Visibility::Public(_binding_0) => Visibility::Public(_binding_0), Visibility::Restricted(_binding_0) => { Visibility::Restricted(f.fold_vis_restricted(_binding_0)) } @@ -3318,7 +3095,7 @@ where F: Fold + ?Sized, { WhereClause { - where_token: Token![where](tokens_helper(f, &node.where_token.span)), + where_token: node.where_token, predicates: FoldHelper::lift(node.predicates, |it| f.fold_where_predicate(it)), } } @@ -3328,14 +3105,11 @@ where F: Fold + ?Sized, { match node { - WherePredicate::Type(_binding_0) => { - WherePredicate::Type(f.fold_predicate_type(_binding_0)) - } WherePredicate::Lifetime(_binding_0) => { WherePredicate::Lifetime(f.fold_predicate_lifetime(_binding_0)) } - WherePredicate::Eq(_binding_0) => { - WherePredicate::Eq(f.fold_predicate_eq(_binding_0)) + WherePredicate::Type(_binding_0) => { + WherePredicate::Type(f.fold_predicate_type(_binding_0)) } } } diff --git a/vendor/syn/src/gen/hash.rs b/vendor/syn/src/gen/hash.rs index d0400e19d..40dfc57f3 100644 --- a/vendor/syn/src/gen/hash.rs +++ b/vendor/syn/src/gen/hash.rs @@ -42,6 +42,30 @@ impl Hash for Arm { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Hash for AssocConst { + fn hash(&self, state: &mut H) + where + H: Hasher, + { + self.ident.hash(state); + self.generics.hash(state); + self.value.hash(state); + } +} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Hash for AssocType { + fn hash(&self, state: &mut H) + where + H: Hasher, + { + self.ident.hash(state); + self.generics.hash(state); + self.ty.hash(state); + } +} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for AttrStyle { fn hash(&self, state: &mut H) where @@ -65,8 +89,7 @@ impl Hash for Attribute { H: Hasher, { self.style.hash(state); - self.path.hash(state); - TokenStreamHelper(&self.tokens).hash(state); + self.meta.hash(state); } } #[cfg(any(feature = "derive", feature = "full"))] @@ -83,6 +106,18 @@ impl Hash for BareFnArg { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Hash for BareVariadic { + fn hash(&self, state: &mut H) + where + H: Hasher, + { + self.attrs.hash(state); + self.name.hash(state); + self.comma.hash(state); + } +} +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for BinOp { fn hash(&self, state: &mut H) where @@ -143,50 +178,39 @@ impl Hash for BinOp { BinOp::Gt(_) => { state.write_u8(17u8); } - BinOp::AddEq(_) => { + BinOp::AddAssign(_) => { state.write_u8(18u8); } - BinOp::SubEq(_) => { + BinOp::SubAssign(_) => { state.write_u8(19u8); } - BinOp::MulEq(_) => { + BinOp::MulAssign(_) => { state.write_u8(20u8); } - BinOp::DivEq(_) => { + BinOp::DivAssign(_) => { state.write_u8(21u8); } - BinOp::RemEq(_) => { + BinOp::RemAssign(_) => { state.write_u8(22u8); } - BinOp::BitXorEq(_) => { + BinOp::BitXorAssign(_) => { state.write_u8(23u8); } - BinOp::BitAndEq(_) => { + BinOp::BitAndAssign(_) => { state.write_u8(24u8); } - BinOp::BitOrEq(_) => { + BinOp::BitOrAssign(_) => { state.write_u8(25u8); } - BinOp::ShlEq(_) => { + BinOp::ShlAssign(_) => { state.write_u8(26u8); } - BinOp::ShrEq(_) => { + BinOp::ShrAssign(_) => { state.write_u8(27u8); } } } } -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for Binding { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.ident.hash(state); - self.ty.hash(state); - } -} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for Block { @@ -229,6 +253,7 @@ impl Hash for Constraint { H: Hasher, { self.ident.hash(state); + self.generics.hash(state); self.bounds.hash(state); } } @@ -319,77 +344,76 @@ impl Hash for Expr { v0.hash(state); } #[cfg(feature = "full")] - Expr::AssignOp(v0) => { + Expr::Async(v0) => { state.write_u8(2u8); v0.hash(state); } #[cfg(feature = "full")] - Expr::Async(v0) => { + Expr::Await(v0) => { state.write_u8(3u8); v0.hash(state); } - #[cfg(feature = "full")] - Expr::Await(v0) => { + Expr::Binary(v0) => { state.write_u8(4u8); v0.hash(state); } - Expr::Binary(v0) => { + #[cfg(feature = "full")] + Expr::Block(v0) => { state.write_u8(5u8); v0.hash(state); } #[cfg(feature = "full")] - Expr::Block(v0) => { + Expr::Break(v0) => { state.write_u8(6u8); v0.hash(state); } - #[cfg(feature = "full")] - Expr::Box(v0) => { + Expr::Call(v0) => { state.write_u8(7u8); v0.hash(state); } - #[cfg(feature = "full")] - Expr::Break(v0) => { + Expr::Cast(v0) => { state.write_u8(8u8); v0.hash(state); } - Expr::Call(v0) => { + #[cfg(feature = "full")] + Expr::Closure(v0) => { state.write_u8(9u8); v0.hash(state); } - Expr::Cast(v0) => { + #[cfg(feature = "full")] + Expr::Const(v0) => { state.write_u8(10u8); v0.hash(state); } #[cfg(feature = "full")] - Expr::Closure(v0) => { + Expr::Continue(v0) => { state.write_u8(11u8); v0.hash(state); } - #[cfg(feature = "full")] - Expr::Continue(v0) => { + Expr::Field(v0) => { state.write_u8(12u8); v0.hash(state); } - Expr::Field(v0) => { + #[cfg(feature = "full")] + Expr::ForLoop(v0) => { state.write_u8(13u8); v0.hash(state); } - #[cfg(feature = "full")] - Expr::ForLoop(v0) => { + Expr::Group(v0) => { state.write_u8(14u8); v0.hash(state); } #[cfg(feature = "full")] - Expr::Group(v0) => { + Expr::If(v0) => { state.write_u8(15u8); v0.hash(state); } - #[cfg(feature = "full")] - Expr::If(v0) => { + Expr::Index(v0) => { state.write_u8(16u8); v0.hash(state); } - Expr::Index(v0) => { + #[cfg(feature = "full")] + Expr::Infer(v0) => { state.write_u8(17u8); v0.hash(state); } @@ -407,7 +431,6 @@ impl Hash for Expr { state.write_u8(20u8); v0.hash(state); } - #[cfg(feature = "full")] Expr::Macro(v0) => { state.write_u8(21u8); v0.hash(state); @@ -470,35 +493,30 @@ impl Hash for Expr { state.write_u8(33u8); v0.hash(state); } - #[cfg(feature = "full")] - Expr::Type(v0) => { - state.write_u8(34u8); - v0.hash(state); - } Expr::Unary(v0) => { - state.write_u8(35u8); + state.write_u8(34u8); v0.hash(state); } #[cfg(feature = "full")] Expr::Unsafe(v0) => { - state.write_u8(36u8); + state.write_u8(35u8); v0.hash(state); } Expr::Verbatim(v0) => { - state.write_u8(37u8); + state.write_u8(36u8); TokenStreamHelper(v0).hash(state); } #[cfg(feature = "full")] Expr::While(v0) => { - state.write_u8(38u8); + state.write_u8(37u8); v0.hash(state); } #[cfg(feature = "full")] Expr::Yield(v0) => { - state.write_u8(39u8); + state.write_u8(38u8); v0.hash(state); } - #[cfg(any(syn_no_non_exhaustive, not(feature = "full")))] + #[cfg(not(feature = "full"))] _ => unreachable!(), } } @@ -528,19 +546,6 @@ impl Hash for ExprAssign { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for ExprAssignOp { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.attrs.hash(state); - self.left.hash(state); - self.op.hash(state); - self.right.hash(state); - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for ExprAsync { fn hash(&self, state: &mut H) where @@ -589,17 +594,6 @@ impl Hash for ExprBlock { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for ExprBox { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.attrs.hash(state); - self.expr.hash(state); - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for ExprBreak { fn hash(&self, state: &mut H) where @@ -642,6 +636,8 @@ impl Hash for ExprClosure { H: Hasher, { self.attrs.hash(state); + self.lifetimes.hash(state); + self.constness.hash(state); self.movability.hash(state); self.asyncness.hash(state); self.capture.hash(state); @@ -652,6 +648,17 @@ impl Hash for ExprClosure { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Hash for ExprConst { + fn hash(&self, state: &mut H) + where + H: Hasher, + { + self.attrs.hash(state); + self.block.hash(state); + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for ExprContinue { fn hash(&self, state: &mut H) where @@ -687,7 +694,7 @@ impl Hash for ExprForLoop { self.body.hash(state); } } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for ExprGroup { fn hash(&self, state: &mut H) @@ -725,6 +732,16 @@ impl Hash for ExprIndex { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Hash for ExprInfer { + fn hash(&self, state: &mut H) + where + H: Hasher, + { + self.attrs.hash(state); + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for ExprLet { fn hash(&self, state: &mut H) where @@ -758,7 +775,7 @@ impl Hash for ExprLoop { self.body.hash(state); } } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for ExprMacro { fn hash(&self, state: &mut H) @@ -826,9 +843,9 @@ impl Hash for ExprRange { H: Hasher, { self.attrs.hash(state); - self.from.hash(state); + self.start.hash(state); self.limits.hash(state); - self.to.hash(state); + self.end.hash(state); } } #[cfg(feature = "full")] @@ -874,6 +891,7 @@ impl Hash for ExprStruct { H: Hasher, { self.attrs.hash(state); + self.qself.hash(state); self.path.hash(state); self.fields.hash(state); self.dot2_token.hash(state); @@ -913,18 +931,6 @@ impl Hash for ExprTuple { self.elems.hash(state); } } -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for ExprType { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.attrs.hash(state); - self.expr.hash(state); - self.ty.hash(state); - } -} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for ExprUnary { @@ -981,11 +987,26 @@ impl Hash for Field { { self.attrs.hash(state); self.vis.hash(state); + self.mutability.hash(state); self.ident.hash(state); self.colon_token.hash(state); self.ty.hash(state); } } +#[cfg(any(feature = "derive", feature = "full"))] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Hash for FieldMutability { + fn hash(&self, state: &mut H) + where + H: Hasher, + { + match self { + FieldMutability::None => { + state.write_u8(0u8); + } + } + } +} #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for FieldPat { @@ -1113,8 +1134,6 @@ impl Hash for ForeignItem { state.write_u8(4u8); TokenStreamHelper(v0).hash(state); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -1166,6 +1185,7 @@ impl Hash for ForeignItemType { self.attrs.hash(state); self.vis.hash(state); self.ident.hash(state); + self.generics.hash(state); } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1188,31 +1208,16 @@ impl Hash for GenericArgument { state.write_u8(2u8); v0.hash(state); } - GenericArgument::Binding(v0) => { + GenericArgument::AssocType(v0) => { state.write_u8(3u8); v0.hash(state); } - GenericArgument::Constraint(v0) => { + GenericArgument::AssocConst(v0) => { state.write_u8(4u8); v0.hash(state); } - } - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for GenericMethodArgument { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - match self { - GenericMethodArgument::Type(v0) => { - state.write_u8(0u8); - v0.hash(state); - } - GenericMethodArgument::Const(v0) => { - state.write_u8(1u8); + GenericArgument::Constraint(v0) => { + state.write_u8(5u8); v0.hash(state); } } @@ -1226,11 +1231,11 @@ impl Hash for GenericParam { H: Hasher, { match self { - GenericParam::Type(v0) => { + GenericParam::Lifetime(v0) => { state.write_u8(0u8); v0.hash(state); } - GenericParam::Lifetime(v0) => { + GenericParam::Type(v0) => { state.write_u8(1u8); v0.hash(state); } @@ -1266,7 +1271,7 @@ impl Hash for ImplItem { state.write_u8(0u8); v0.hash(state); } - ImplItem::Method(v0) => { + ImplItem::Fn(v0) => { state.write_u8(1u8); v0.hash(state); } @@ -1282,8 +1287,6 @@ impl Hash for ImplItem { state.write_u8(4u8); TokenStreamHelper(v0).hash(state); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -1298,34 +1301,35 @@ impl Hash for ImplItemConst { self.vis.hash(state); self.defaultness.hash(state); self.ident.hash(state); + self.generics.hash(state); self.ty.hash(state); self.expr.hash(state); } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for ImplItemMacro { +impl Hash for ImplItemFn { fn hash(&self, state: &mut H) where H: Hasher, { self.attrs.hash(state); - self.mac.hash(state); - self.semi_token.hash(state); + self.vis.hash(state); + self.defaultness.hash(state); + self.sig.hash(state); + self.block.hash(state); } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for ImplItemMethod { +impl Hash for ImplItemMacro { fn hash(&self, state: &mut H) where H: Hasher, { self.attrs.hash(state); - self.vis.hash(state); - self.defaultness.hash(state); - self.sig.hash(state); - self.block.hash(state); + self.mac.hash(state); + self.semi_token.hash(state); } } #[cfg(feature = "full")] @@ -1345,6 +1349,16 @@ impl Hash for ImplItemType { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Hash for ImplRestriction { + fn hash(&self, _state: &mut H) + where + H: Hasher, + { + match *self {} + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for Item { fn hash(&self, state: &mut H) where @@ -1379,48 +1393,42 @@ impl Hash for Item { state.write_u8(6u8); v0.hash(state); } - Item::Macro2(v0) => { - state.write_u8(7u8); - v0.hash(state); - } Item::Mod(v0) => { - state.write_u8(8u8); + state.write_u8(7u8); v0.hash(state); } Item::Static(v0) => { - state.write_u8(9u8); + state.write_u8(8u8); v0.hash(state); } Item::Struct(v0) => { - state.write_u8(10u8); + state.write_u8(9u8); v0.hash(state); } Item::Trait(v0) => { - state.write_u8(11u8); + state.write_u8(10u8); v0.hash(state); } Item::TraitAlias(v0) => { - state.write_u8(12u8); + state.write_u8(11u8); v0.hash(state); } Item::Type(v0) => { - state.write_u8(13u8); + state.write_u8(12u8); v0.hash(state); } Item::Union(v0) => { - state.write_u8(14u8); + state.write_u8(13u8); v0.hash(state); } Item::Use(v0) => { - state.write_u8(15u8); + state.write_u8(14u8); v0.hash(state); } Item::Verbatim(v0) => { - state.write_u8(16u8); + state.write_u8(15u8); TokenStreamHelper(v0).hash(state); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -1434,6 +1442,7 @@ impl Hash for ItemConst { self.attrs.hash(state); self.vis.hash(state); self.ident.hash(state); + self.generics.hash(state); self.ty.hash(state); self.expr.hash(state); } @@ -1486,6 +1495,7 @@ impl Hash for ItemForeignMod { H: Hasher, { self.attrs.hash(state); + self.unsafety.hash(state); self.abi.hash(state); self.items.hash(state); } @@ -1521,19 +1531,6 @@ impl Hash for ItemMacro { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for ItemMacro2 { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.attrs.hash(state); - self.vis.hash(state); - self.ident.hash(state); - TokenStreamHelper(&self.rules).hash(state); - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for ItemMod { fn hash(&self, state: &mut H) where @@ -1541,6 +1538,7 @@ impl Hash for ItemMod { { self.attrs.hash(state); self.vis.hash(state); + self.unsafety.hash(state); self.ident.hash(state); self.content.hash(state); self.semi.hash(state); @@ -1587,6 +1585,7 @@ impl Hash for ItemTrait { self.vis.hash(state); self.unsafety.hash(state); self.auto_token.hash(state); + self.restriction.hash(state); self.ident.hash(state); self.generics.hash(state); self.colon_token.hash(state); @@ -1661,7 +1660,7 @@ impl Hash for Label { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for LifetimeDef { +impl Hash for LifetimeParam { fn hash(&self, state: &mut H) where H: Hasher, @@ -1735,6 +1734,17 @@ impl Hash for Local { self.init.hash(state); } } +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Hash for LocalInit { + fn hash(&self, state: &mut H) + where + H: Hasher, + { + self.expr.hash(state); + self.diverge.hash(state); + } +} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for Macro { @@ -1798,7 +1808,8 @@ impl Hash for MetaList { H: Hasher, { self.path.hash(state); - self.nested.hash(state); + self.delimiter.hash(state); + TokenStreamHelper(&self.tokens).hash(state); } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1809,36 +1820,7 @@ impl Hash for MetaNameValue { H: Hasher, { self.path.hash(state); - self.lit.hash(state); - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for MethodTurbofish { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.args.hash(state); - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for NestedMeta { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - match self { - NestedMeta::Meta(v0) => { - state.write_u8(0u8); - v0.hash(state); - } - NestedMeta::Lit(v0) => { - state.write_u8(1u8); - v0.hash(state); - } - } + self.value.hash(state); } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1860,7 +1842,7 @@ impl Hash for Pat { H: Hasher, { match self { - Pat::Box(v0) => { + Pat::Const(v0) => { state.write_u8(0u8); v0.hash(state); } @@ -1880,68 +1862,59 @@ impl Hash for Pat { state.write_u8(4u8); v0.hash(state); } - Pat::Path(v0) => { + Pat::Paren(v0) => { state.write_u8(5u8); v0.hash(state); } - Pat::Range(v0) => { + Pat::Path(v0) => { state.write_u8(6u8); v0.hash(state); } - Pat::Reference(v0) => { + Pat::Range(v0) => { state.write_u8(7u8); v0.hash(state); } - Pat::Rest(v0) => { + Pat::Reference(v0) => { state.write_u8(8u8); v0.hash(state); } - Pat::Slice(v0) => { + Pat::Rest(v0) => { state.write_u8(9u8); v0.hash(state); } - Pat::Struct(v0) => { + Pat::Slice(v0) => { state.write_u8(10u8); v0.hash(state); } - Pat::Tuple(v0) => { + Pat::Struct(v0) => { state.write_u8(11u8); v0.hash(state); } - Pat::TupleStruct(v0) => { + Pat::Tuple(v0) => { state.write_u8(12u8); v0.hash(state); } - Pat::Type(v0) => { + Pat::TupleStruct(v0) => { state.write_u8(13u8); v0.hash(state); } - Pat::Verbatim(v0) => { + Pat::Type(v0) => { state.write_u8(14u8); + v0.hash(state); + } + Pat::Verbatim(v0) => { + state.write_u8(15u8); TokenStreamHelper(v0).hash(state); } Pat::Wild(v0) => { - state.write_u8(15u8); + state.write_u8(16u8); v0.hash(state); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for PatBox { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.attrs.hash(state); - self.pat.hash(state); - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for PatIdent { fn hash(&self, state: &mut H) where @@ -1956,28 +1929,6 @@ impl Hash for PatIdent { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for PatLit { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.attrs.hash(state); - self.expr.hash(state); - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for PatMacro { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.attrs.hash(state); - self.mac.hash(state); - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for PatOr { fn hash(&self, state: &mut H) where @@ -1990,27 +1941,13 @@ impl Hash for PatOr { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for PatPath { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.attrs.hash(state); - self.qself.hash(state); - self.path.hash(state); - } -} -#[cfg(feature = "full")] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for PatRange { +impl Hash for PatParen { fn hash(&self, state: &mut H) where H: Hasher, { self.attrs.hash(state); - self.lo.hash(state); - self.limits.hash(state); - self.hi.hash(state); + self.pat.hash(state); } } #[cfg(feature = "full")] @@ -2054,9 +1991,10 @@ impl Hash for PatStruct { H: Hasher, { self.attrs.hash(state); + self.qself.hash(state); self.path.hash(state); self.fields.hash(state); - self.dot2_token.hash(state); + self.rest.hash(state); } } #[cfg(feature = "full")] @@ -2078,8 +2016,9 @@ impl Hash for PatTupleStruct { H: Hasher, { self.attrs.hash(state); + self.qself.hash(state); self.path.hash(state); - self.pat.hash(state); + self.elems.hash(state); } } #[cfg(feature = "full")] @@ -2150,17 +2089,6 @@ impl Hash for PathSegment { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for PredicateEq { - fn hash(&self, state: &mut H) - where - H: Hasher, - { - self.lhs_ty.hash(state); - self.rhs_ty.hash(state); - } -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for PredicateLifetime { fn hash(&self, state: &mut H) where @@ -2221,6 +2149,8 @@ impl Hash for Receiver { self.attrs.hash(state); self.reference.hash(state); self.mutability.hash(state); + self.colon_token.hash(state); + self.ty.hash(state); } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2261,6 +2191,23 @@ impl Hash for Signature { } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Hash for StaticMutability { + fn hash(&self, state: &mut H) + where + H: Hasher, + { + match self { + StaticMutability::Mut(_) => { + state.write_u8(0u8); + } + StaticMutability::None => { + state.write_u8(1u8); + } + } + } +} +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for Stmt { fn hash(&self, state: &mut H) where @@ -2275,17 +2222,30 @@ impl Hash for Stmt { state.write_u8(1u8); v0.hash(state); } - Stmt::Expr(v0) => { + Stmt::Expr(v0, v1) => { state.write_u8(2u8); v0.hash(state); + v1.hash(state); } - Stmt::Semi(v0, _) => { + Stmt::Macro(v0) => { state.write_u8(3u8); v0.hash(state); } } } } +#[cfg(feature = "full")] +#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] +impl Hash for StmtMacro { + fn hash(&self, state: &mut H) + where + H: Hasher, + { + self.attrs.hash(state); + self.mac.hash(state); + self.semi_token.hash(state); + } +} #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for TraitBound { @@ -2328,7 +2288,7 @@ impl Hash for TraitItem { state.write_u8(0u8); v0.hash(state); } - TraitItem::Method(v0) => { + TraitItem::Fn(v0) => { state.write_u8(1u8); v0.hash(state); } @@ -2344,8 +2304,6 @@ impl Hash for TraitItem { state.write_u8(4u8); TokenStreamHelper(v0).hash(state); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -2358,32 +2316,33 @@ impl Hash for TraitItemConst { { self.attrs.hash(state); self.ident.hash(state); + self.generics.hash(state); self.ty.hash(state); self.default.hash(state); } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for TraitItemMacro { +impl Hash for TraitItemFn { fn hash(&self, state: &mut H) where H: Hasher, { self.attrs.hash(state); - self.mac.hash(state); + self.sig.hash(state); + self.default.hash(state); self.semi_token.hash(state); } } #[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for TraitItemMethod { +impl Hash for TraitItemMacro { fn hash(&self, state: &mut H) where H: Hasher, { self.attrs.hash(state); - self.sig.hash(state); - self.default.hash(state); + self.mac.hash(state); self.semi_token.hash(state); } } @@ -2470,8 +2429,6 @@ impl Hash for Type { state.write_u8(14u8); TokenStreamHelper(v0).hash(state); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } } @@ -2578,6 +2535,10 @@ impl Hash for TypeParamBound { state.write_u8(1u8); v0.hash(state); } + TypeParamBound::Verbatim(v0) => { + state.write_u8(2u8); + TokenStreamHelper(v0).hash(state); + } } } } @@ -2758,7 +2719,7 @@ impl Hash for UseTree { } } } -#[cfg(any(feature = "derive", feature = "full"))] +#[cfg(feature = "full")] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for Variadic { fn hash(&self, state: &mut H) @@ -2766,6 +2727,8 @@ impl Hash for Variadic { H: Hasher, { self.attrs.hash(state); + self.pat.hash(state); + self.comma.hash(state); } } #[cfg(any(feature = "derive", feature = "full"))] @@ -2783,22 +2746,6 @@ impl Hash for Variant { } #[cfg(any(feature = "derive", feature = "full"))] #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for VisCrate { - fn hash(&self, _state: &mut H) - where - H: Hasher, - {} -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] -impl Hash for VisPublic { - fn hash(&self, _state: &mut H) - where - H: Hasher, - {} -} -#[cfg(any(feature = "derive", feature = "full"))] -#[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))] impl Hash for VisRestricted { fn hash(&self, state: &mut H) where @@ -2816,20 +2763,15 @@ impl Hash for Visibility { H: Hasher, { match self { - Visibility::Public(v0) => { + Visibility::Public(_) => { state.write_u8(0u8); - v0.hash(state); - } - Visibility::Crate(v0) => { - state.write_u8(1u8); - v0.hash(state); } Visibility::Restricted(v0) => { - state.write_u8(2u8); + state.write_u8(1u8); v0.hash(state); } Visibility::Inherited => { - state.write_u8(3u8); + state.write_u8(2u8); } } } @@ -2852,18 +2794,14 @@ impl Hash for WherePredicate { H: Hasher, { match self { - WherePredicate::Type(v0) => { + WherePredicate::Lifetime(v0) => { state.write_u8(0u8); v0.hash(state); } - WherePredicate::Lifetime(v0) => { + WherePredicate::Type(v0) => { state.write_u8(1u8); v0.hash(state); } - WherePredicate::Eq(v0) => { - state.write_u8(2u8); - v0.hash(state); - } } } } diff --git a/vendor/syn/src/gen/visit.rs b/vendor/syn/src/gen/visit.rs index 19ddd2e72..9eaa24f05 100644 --- a/vendor/syn/src/gen/visit.rs +++ b/vendor/syn/src/gen/visit.rs @@ -3,8 +3,6 @@ #![allow(unused_variables)] #[cfg(any(feature = "full", feature = "derive"))] -use crate::gen::helper::visit::*; -#[cfg(any(feature = "full", feature = "derive"))] use crate::punctuated::Punctuated; use crate::*; use proc_macro2::Span; @@ -28,8 +26,6 @@ macro_rules! skip { /// See the [module documentation] for details. /// /// [module documentation]: self -/// -/// *This trait is available only if Syn is built with the `"visit"` feature.* pub trait Visit<'ast> { #[cfg(any(feature = "derive", feature = "full"))] fn visit_abi(&mut self, i: &'ast Abi) { @@ -47,6 +43,14 @@ pub trait Visit<'ast> { visit_arm(self, i); } #[cfg(any(feature = "derive", feature = "full"))] + fn visit_assoc_const(&mut self, i: &'ast AssocConst) { + visit_assoc_const(self, i); + } + #[cfg(any(feature = "derive", feature = "full"))] + fn visit_assoc_type(&mut self, i: &'ast AssocType) { + visit_assoc_type(self, i); + } + #[cfg(any(feature = "derive", feature = "full"))] fn visit_attr_style(&mut self, i: &'ast AttrStyle) { visit_attr_style(self, i); } @@ -59,12 +63,12 @@ pub trait Visit<'ast> { visit_bare_fn_arg(self, i); } #[cfg(any(feature = "derive", feature = "full"))] - fn visit_bin_op(&mut self, i: &'ast BinOp) { - visit_bin_op(self, i); + fn visit_bare_variadic(&mut self, i: &'ast BareVariadic) { + visit_bare_variadic(self, i); } #[cfg(any(feature = "derive", feature = "full"))] - fn visit_binding(&mut self, i: &'ast Binding) { - visit_binding(self, i); + fn visit_bin_op(&mut self, i: &'ast BinOp) { + visit_bin_op(self, i); } #[cfg(feature = "full")] fn visit_block(&mut self, i: &'ast Block) { @@ -115,10 +119,6 @@ pub trait Visit<'ast> { visit_expr_assign(self, i); } #[cfg(feature = "full")] - fn visit_expr_assign_op(&mut self, i: &'ast ExprAssignOp) { - visit_expr_assign_op(self, i); - } - #[cfg(feature = "full")] fn visit_expr_async(&mut self, i: &'ast ExprAsync) { visit_expr_async(self, i); } @@ -135,10 +135,6 @@ pub trait Visit<'ast> { visit_expr_block(self, i); } #[cfg(feature = "full")] - fn visit_expr_box(&mut self, i: &'ast ExprBox) { - visit_expr_box(self, i); - } - #[cfg(feature = "full")] fn visit_expr_break(&mut self, i: &'ast ExprBreak) { visit_expr_break(self, i); } @@ -155,6 +151,10 @@ pub trait Visit<'ast> { visit_expr_closure(self, i); } #[cfg(feature = "full")] + fn visit_expr_const(&mut self, i: &'ast ExprConst) { + visit_expr_const(self, i); + } + #[cfg(feature = "full")] fn visit_expr_continue(&mut self, i: &'ast ExprContinue) { visit_expr_continue(self, i); } @@ -166,7 +166,7 @@ pub trait Visit<'ast> { fn visit_expr_for_loop(&mut self, i: &'ast ExprForLoop) { visit_expr_for_loop(self, i); } - #[cfg(feature = "full")] + #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_group(&mut self, i: &'ast ExprGroup) { visit_expr_group(self, i); } @@ -179,6 +179,10 @@ pub trait Visit<'ast> { visit_expr_index(self, i); } #[cfg(feature = "full")] + fn visit_expr_infer(&mut self, i: &'ast ExprInfer) { + visit_expr_infer(self, i); + } + #[cfg(feature = "full")] fn visit_expr_let(&mut self, i: &'ast ExprLet) { visit_expr_let(self, i); } @@ -190,7 +194,7 @@ pub trait Visit<'ast> { fn visit_expr_loop(&mut self, i: &'ast ExprLoop) { visit_expr_loop(self, i); } - #[cfg(feature = "full")] + #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_macro(&mut self, i: &'ast ExprMacro) { visit_expr_macro(self, i); } @@ -242,10 +246,6 @@ pub trait Visit<'ast> { fn visit_expr_tuple(&mut self, i: &'ast ExprTuple) { visit_expr_tuple(self, i); } - #[cfg(feature = "full")] - fn visit_expr_type(&mut self, i: &'ast ExprType) { - visit_expr_type(self, i); - } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_unary(&mut self, i: &'ast ExprUnary) { visit_expr_unary(self, i); @@ -266,6 +266,10 @@ pub trait Visit<'ast> { fn visit_field(&mut self, i: &'ast Field) { visit_field(self, i); } + #[cfg(any(feature = "derive", feature = "full"))] + fn visit_field_mutability(&mut self, i: &'ast FieldMutability) { + visit_field_mutability(self, i); + } #[cfg(feature = "full")] fn visit_field_pat(&mut self, i: &'ast FieldPat) { visit_field_pat(self, i); @@ -318,10 +322,6 @@ pub trait Visit<'ast> { fn visit_generic_argument(&mut self, i: &'ast GenericArgument) { visit_generic_argument(self, i); } - #[cfg(feature = "full")] - fn visit_generic_method_argument(&mut self, i: &'ast GenericMethodArgument) { - visit_generic_method_argument(self, i); - } #[cfg(any(feature = "derive", feature = "full"))] fn visit_generic_param(&mut self, i: &'ast GenericParam) { visit_generic_param(self, i); @@ -342,17 +342,21 @@ pub trait Visit<'ast> { visit_impl_item_const(self, i); } #[cfg(feature = "full")] - fn visit_impl_item_macro(&mut self, i: &'ast ImplItemMacro) { - visit_impl_item_macro(self, i); + fn visit_impl_item_fn(&mut self, i: &'ast ImplItemFn) { + visit_impl_item_fn(self, i); } #[cfg(feature = "full")] - fn visit_impl_item_method(&mut self, i: &'ast ImplItemMethod) { - visit_impl_item_method(self, i); + fn visit_impl_item_macro(&mut self, i: &'ast ImplItemMacro) { + visit_impl_item_macro(self, i); } #[cfg(feature = "full")] fn visit_impl_item_type(&mut self, i: &'ast ImplItemType) { visit_impl_item_type(self, i); } + #[cfg(feature = "full")] + fn visit_impl_restriction(&mut self, i: &'ast ImplRestriction) { + visit_impl_restriction(self, i); + } #[cfg(any(feature = "derive", feature = "full"))] fn visit_index(&mut self, i: &'ast Index) { visit_index(self, i); @@ -390,10 +394,6 @@ pub trait Visit<'ast> { visit_item_macro(self, i); } #[cfg(feature = "full")] - fn visit_item_macro2(&mut self, i: &'ast ItemMacro2) { - visit_item_macro2(self, i); - } - #[cfg(feature = "full")] fn visit_item_mod(&mut self, i: &'ast ItemMod) { visit_item_mod(self, i); } @@ -433,8 +433,8 @@ pub trait Visit<'ast> { visit_lifetime(self, i); } #[cfg(any(feature = "derive", feature = "full"))] - fn visit_lifetime_def(&mut self, i: &'ast LifetimeDef) { - visit_lifetime_def(self, i); + fn visit_lifetime_param(&mut self, i: &'ast LifetimeParam) { + visit_lifetime_param(self, i); } fn visit_lit(&mut self, i: &'ast Lit) { visit_lit(self, i); @@ -464,6 +464,10 @@ pub trait Visit<'ast> { fn visit_local(&mut self, i: &'ast Local) { visit_local(self, i); } + #[cfg(feature = "full")] + fn visit_local_init(&mut self, i: &'ast LocalInit) { + visit_local_init(self, i); + } #[cfg(any(feature = "derive", feature = "full"))] fn visit_macro(&mut self, i: &'ast Macro) { visit_macro(self, i); @@ -488,14 +492,6 @@ pub trait Visit<'ast> { fn visit_meta_name_value(&mut self, i: &'ast MetaNameValue) { visit_meta_name_value(self, i); } - #[cfg(feature = "full")] - fn visit_method_turbofish(&mut self, i: &'ast MethodTurbofish) { - visit_method_turbofish(self, i); - } - #[cfg(any(feature = "derive", feature = "full"))] - fn visit_nested_meta(&mut self, i: &'ast NestedMeta) { - visit_nested_meta(self, i); - } #[cfg(any(feature = "derive", feature = "full"))] fn visit_parenthesized_generic_arguments( &mut self, @@ -508,32 +504,16 @@ pub trait Visit<'ast> { visit_pat(self, i); } #[cfg(feature = "full")] - fn visit_pat_box(&mut self, i: &'ast PatBox) { - visit_pat_box(self, i); - } - #[cfg(feature = "full")] fn visit_pat_ident(&mut self, i: &'ast PatIdent) { visit_pat_ident(self, i); } #[cfg(feature = "full")] - fn visit_pat_lit(&mut self, i: &'ast PatLit) { - visit_pat_lit(self, i); - } - #[cfg(feature = "full")] - fn visit_pat_macro(&mut self, i: &'ast PatMacro) { - visit_pat_macro(self, i); - } - #[cfg(feature = "full")] fn visit_pat_or(&mut self, i: &'ast PatOr) { visit_pat_or(self, i); } #[cfg(feature = "full")] - fn visit_pat_path(&mut self, i: &'ast PatPath) { - visit_pat_path(self, i); - } - #[cfg(feature = "full")] - fn visit_pat_range(&mut self, i: &'ast PatRange) { - visit_pat_range(self, i); + fn visit_pat_paren(&mut self, i: &'ast PatParen) { + visit_pat_paren(self, i); } #[cfg(feature = "full")] fn visit_pat_reference(&mut self, i: &'ast PatReference) { @@ -580,10 +560,6 @@ pub trait Visit<'ast> { visit_path_segment(self, i); } #[cfg(any(feature = "derive", feature = "full"))] - fn visit_predicate_eq(&mut self, i: &'ast PredicateEq) { - visit_predicate_eq(self, i); - } - #[cfg(any(feature = "derive", feature = "full"))] fn visit_predicate_lifetime(&mut self, i: &'ast PredicateLifetime) { visit_predicate_lifetime(self, i); } @@ -615,9 +591,17 @@ pub trait Visit<'ast> { visit_span(self, i); } #[cfg(feature = "full")] + fn visit_static_mutability(&mut self, i: &'ast StaticMutability) { + visit_static_mutability(self, i); + } + #[cfg(feature = "full")] fn visit_stmt(&mut self, i: &'ast Stmt) { visit_stmt(self, i); } + #[cfg(feature = "full")] + fn visit_stmt_macro(&mut self, i: &'ast StmtMacro) { + visit_stmt_macro(self, i); + } #[cfg(any(feature = "derive", feature = "full"))] fn visit_trait_bound(&mut self, i: &'ast TraitBound) { visit_trait_bound(self, i); @@ -635,12 +619,12 @@ pub trait Visit<'ast> { visit_trait_item_const(self, i); } #[cfg(feature = "full")] - fn visit_trait_item_macro(&mut self, i: &'ast TraitItemMacro) { - visit_trait_item_macro(self, i); + fn visit_trait_item_fn(&mut self, i: &'ast TraitItemFn) { + visit_trait_item_fn(self, i); } #[cfg(feature = "full")] - fn visit_trait_item_method(&mut self, i: &'ast TraitItemMethod) { - visit_trait_item_method(self, i); + fn visit_trait_item_macro(&mut self, i: &'ast TraitItemMacro) { + visit_trait_item_macro(self, i); } #[cfg(feature = "full")] fn visit_trait_item_type(&mut self, i: &'ast TraitItemType) { @@ -742,7 +726,7 @@ pub trait Visit<'ast> { fn visit_use_tree(&mut self, i: &'ast UseTree) { visit_use_tree(self, i); } - #[cfg(any(feature = "derive", feature = "full"))] + #[cfg(feature = "full")] fn visit_variadic(&mut self, i: &'ast Variadic) { visit_variadic(self, i); } @@ -751,14 +735,6 @@ pub trait Visit<'ast> { visit_variant(self, i); } #[cfg(any(feature = "derive", feature = "full"))] - fn visit_vis_crate(&mut self, i: &'ast VisCrate) { - visit_vis_crate(self, i); - } - #[cfg(any(feature = "derive", feature = "full"))] - fn visit_vis_public(&mut self, i: &'ast VisPublic) { - visit_vis_public(self, i); - } - #[cfg(any(feature = "derive", feature = "full"))] fn visit_vis_restricted(&mut self, i: &'ast VisRestricted) { visit_vis_restricted(self, i); } @@ -780,7 +756,7 @@ pub fn visit_abi<'ast, V>(v: &mut V, node: &'ast Abi) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.extern_token.span); + skip!(node.extern_token); if let Some(it) = &node.name { v.visit_lit_str(it); } @@ -793,18 +769,13 @@ pub fn visit_angle_bracketed_generic_arguments<'ast, V>( where V: Visit<'ast> + ?Sized, { - if let Some(it) = &node.colon2_token { - tokens_helper(v, &it.spans); - } - tokens_helper(v, &node.lt_token.spans); + skip!(node.colon2_token); + skip!(node.lt_token); for el in Punctuated::pairs(&node.args) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_generic_argument(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } - tokens_helper(v, &node.gt_token.spans); + skip!(node.gt_token); } #[cfg(feature = "full")] pub fn visit_arm<'ast, V>(v: &mut V, node: &'ast Arm) @@ -816,14 +787,36 @@ where } v.visit_pat(&node.pat); if let Some(it) = &node.guard { - tokens_helper(v, &(it).0.span); + skip!((it).0); v.visit_expr(&*(it).1); } - tokens_helper(v, &node.fat_arrow_token.spans); + skip!(node.fat_arrow_token); v.visit_expr(&*node.body); - if let Some(it) = &node.comma { - tokens_helper(v, &it.spans); + skip!(node.comma); +} +#[cfg(any(feature = "derive", feature = "full"))] +pub fn visit_assoc_const<'ast, V>(v: &mut V, node: &'ast AssocConst) +where + V: Visit<'ast> + ?Sized, +{ + v.visit_ident(&node.ident); + if let Some(it) = &node.generics { + v.visit_angle_bracketed_generic_arguments(it); } + skip!(node.eq_token); + v.visit_expr(&node.value); +} +#[cfg(any(feature = "derive", feature = "full"))] +pub fn visit_assoc_type<'ast, V>(v: &mut V, node: &'ast AssocType) +where + V: Visit<'ast> + ?Sized, +{ + v.visit_ident(&node.ident); + if let Some(it) = &node.generics { + v.visit_angle_bracketed_generic_arguments(it); + } + skip!(node.eq_token); + v.visit_type(&node.ty); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_attr_style<'ast, V>(v: &mut V, node: &'ast AttrStyle) @@ -833,7 +826,7 @@ where match node { AttrStyle::Outer => {} AttrStyle::Inner(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } } } @@ -842,11 +835,10 @@ pub fn visit_attribute<'ast, V>(v: &mut V, node: &'ast Attribute) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.pound_token.spans); + skip!(node.pound_token); v.visit_attr_style(&node.style); - tokens_helper(v, &node.bracket_token.span); - v.visit_path(&node.path); - skip!(node.tokens); + skip!(node.bracket_token); + v.visit_meta(&node.meta); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_bare_fn_arg<'ast, V>(v: &mut V, node: &'ast BareFnArg) @@ -858,117 +850,123 @@ where } if let Some(it) = &node.name { v.visit_ident(&(it).0); - tokens_helper(v, &(it).1.spans); + skip!((it).1); } v.visit_type(&node.ty); } #[cfg(any(feature = "derive", feature = "full"))] +pub fn visit_bare_variadic<'ast, V>(v: &mut V, node: &'ast BareVariadic) +where + V: Visit<'ast> + ?Sized, +{ + for it in &node.attrs { + v.visit_attribute(it); + } + if let Some(it) = &node.name { + v.visit_ident(&(it).0); + skip!((it).1); + } + skip!(node.dots); + skip!(node.comma); +} +#[cfg(any(feature = "derive", feature = "full"))] pub fn visit_bin_op<'ast, V>(v: &mut V, node: &'ast BinOp) where V: Visit<'ast> + ?Sized, { match node { BinOp::Add(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Sub(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Mul(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Div(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Rem(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::And(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Or(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::BitXor(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::BitAnd(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::BitOr(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Shl(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Shr(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Eq(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Lt(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Le(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Ne(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Ge(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } BinOp::Gt(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } - BinOp::AddEq(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + BinOp::AddAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::SubEq(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + BinOp::SubAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::MulEq(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + BinOp::MulAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::DivEq(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + BinOp::DivAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::RemEq(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + BinOp::RemAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::BitXorEq(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + BinOp::BitXorAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::BitAndEq(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + BinOp::BitAndAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::BitOrEq(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + BinOp::BitOrAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::ShlEq(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + BinOp::ShlAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::ShrEq(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + BinOp::ShrAssign(_binding_0) => { + skip!(_binding_0); } } } -#[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_binding<'ast, V>(v: &mut V, node: &'ast Binding) -where - V: Visit<'ast> + ?Sized, -{ - v.visit_ident(&node.ident); - tokens_helper(v, &node.eq_token.spans); - v.visit_type(&node.ty); -} #[cfg(feature = "full")] pub fn visit_block<'ast, V>(v: &mut V, node: &'ast Block) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.brace_token.span); + skip!(node.brace_token); for it in &node.stmts { v.visit_stmt(it); } @@ -978,16 +976,13 @@ pub fn visit_bound_lifetimes<'ast, V>(v: &mut V, node: &'ast BoundLifetimes) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.for_token.span); - tokens_helper(v, &node.lt_token.spans); + skip!(node.for_token); + skip!(node.lt_token); for el in Punctuated::pairs(&node.lifetimes) { - let (it, p) = el.into_tuple(); - v.visit_lifetime_def(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } + let it = el.value(); + v.visit_generic_param(it); } - tokens_helper(v, &node.gt_token.spans); + skip!(node.gt_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_const_param<'ast, V>(v: &mut V, node: &'ast ConstParam) @@ -997,13 +992,11 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.const_token.span); + skip!(node.const_token); v.visit_ident(&node.ident); - tokens_helper(v, &node.colon_token.spans); + skip!(node.colon_token); v.visit_type(&node.ty); - if let Some(it) = &node.eq_token { - tokens_helper(v, &it.spans); - } + skip!(node.eq_token); if let Some(it) = &node.default { v.visit_expr(it); } @@ -1014,13 +1007,13 @@ where V: Visit<'ast> + ?Sized, { v.visit_ident(&node.ident); - tokens_helper(v, &node.colon_token.spans); + if let Some(it) = &node.generics { + v.visit_angle_bracketed_generic_arguments(it); + } + skip!(node.colon_token); for el in Punctuated::pairs(&node.bounds) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_type_param_bound(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(feature = "derive")] @@ -1045,14 +1038,11 @@ pub fn visit_data_enum<'ast, V>(v: &mut V, node: &'ast DataEnum) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.enum_token.span); - tokens_helper(v, &node.brace_token.span); + skip!(node.enum_token); + skip!(node.brace_token); for el in Punctuated::pairs(&node.variants) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_variant(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(feature = "derive")] @@ -1060,18 +1050,16 @@ pub fn visit_data_struct<'ast, V>(v: &mut V, node: &'ast DataStruct) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.struct_token.span); + skip!(node.struct_token); v.visit_fields(&node.fields); - if let Some(it) = &node.semi_token { - tokens_helper(v, &it.spans); - } + skip!(node.semi_token); } #[cfg(feature = "derive")] pub fn visit_data_union<'ast, V>(v: &mut V, node: &'ast DataUnion) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.union_token.span); + skip!(node.union_token); v.visit_fields_named(&node.fields); } #[cfg(feature = "derive")] @@ -1099,9 +1087,6 @@ where Expr::Assign(_binding_0) => { full!(v.visit_expr_assign(_binding_0)); } - Expr::AssignOp(_binding_0) => { - full!(v.visit_expr_assign_op(_binding_0)); - } Expr::Async(_binding_0) => { full!(v.visit_expr_async(_binding_0)); } @@ -1114,9 +1099,6 @@ where Expr::Block(_binding_0) => { full!(v.visit_expr_block(_binding_0)); } - Expr::Box(_binding_0) => { - full!(v.visit_expr_box(_binding_0)); - } Expr::Break(_binding_0) => { full!(v.visit_expr_break(_binding_0)); } @@ -1129,6 +1111,9 @@ where Expr::Closure(_binding_0) => { full!(v.visit_expr_closure(_binding_0)); } + Expr::Const(_binding_0) => { + full!(v.visit_expr_const(_binding_0)); + } Expr::Continue(_binding_0) => { full!(v.visit_expr_continue(_binding_0)); } @@ -1139,7 +1124,7 @@ where full!(v.visit_expr_for_loop(_binding_0)); } Expr::Group(_binding_0) => { - full!(v.visit_expr_group(_binding_0)); + v.visit_expr_group(_binding_0); } Expr::If(_binding_0) => { full!(v.visit_expr_if(_binding_0)); @@ -1147,6 +1132,9 @@ where Expr::Index(_binding_0) => { v.visit_expr_index(_binding_0); } + Expr::Infer(_binding_0) => { + full!(v.visit_expr_infer(_binding_0)); + } Expr::Let(_binding_0) => { full!(v.visit_expr_let(_binding_0)); } @@ -1157,7 +1145,7 @@ where full!(v.visit_expr_loop(_binding_0)); } Expr::Macro(_binding_0) => { - full!(v.visit_expr_macro(_binding_0)); + v.visit_expr_macro(_binding_0); } Expr::Match(_binding_0) => { full!(v.visit_expr_match(_binding_0)); @@ -1195,9 +1183,6 @@ where Expr::Tuple(_binding_0) => { full!(v.visit_expr_tuple(_binding_0)); } - Expr::Type(_binding_0) => { - full!(v.visit_expr_type(_binding_0)); - } Expr::Unary(_binding_0) => { v.visit_expr_unary(_binding_0); } @@ -1213,8 +1198,6 @@ where Expr::Yield(_binding_0) => { full!(v.visit_expr_yield(_binding_0)); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -1225,13 +1208,10 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.bracket_token.span); + skip!(node.bracket_token); for el in Punctuated::pairs(&node.elems) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_expr(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(feature = "full")] @@ -1243,19 +1223,7 @@ where v.visit_attribute(it); } v.visit_expr(&*node.left); - tokens_helper(v, &node.eq_token.spans); - v.visit_expr(&*node.right); -} -#[cfg(feature = "full")] -pub fn visit_expr_assign_op<'ast, V>(v: &mut V, node: &'ast ExprAssignOp) -where - V: Visit<'ast> + ?Sized, -{ - for it in &node.attrs { - v.visit_attribute(it); - } - v.visit_expr(&*node.left); - v.visit_bin_op(&node.op); + skip!(node.eq_token); v.visit_expr(&*node.right); } #[cfg(feature = "full")] @@ -1266,10 +1234,8 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.async_token.span); - if let Some(it) = &node.capture { - tokens_helper(v, &it.span); - } + skip!(node.async_token); + skip!(node.capture); v.visit_block(&node.block); } #[cfg(feature = "full")] @@ -1281,8 +1247,8 @@ where v.visit_attribute(it); } v.visit_expr(&*node.base); - tokens_helper(v, &node.dot_token.spans); - tokens_helper(v, &node.await_token.span); + skip!(node.dot_token); + skip!(node.await_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_binary<'ast, V>(v: &mut V, node: &'ast ExprBinary) @@ -1310,17 +1276,6 @@ where v.visit_block(&node.block); } #[cfg(feature = "full")] -pub fn visit_expr_box<'ast, V>(v: &mut V, node: &'ast ExprBox) -where - V: Visit<'ast> + ?Sized, -{ - for it in &node.attrs { - v.visit_attribute(it); - } - tokens_helper(v, &node.box_token.span); - v.visit_expr(&*node.expr); -} -#[cfg(feature = "full")] pub fn visit_expr_break<'ast, V>(v: &mut V, node: &'ast ExprBreak) where V: Visit<'ast> + ?Sized, @@ -1328,7 +1283,7 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.break_token.span); + skip!(node.break_token); if let Some(it) = &node.label { v.visit_lifetime(it); } @@ -1345,13 +1300,10 @@ where v.visit_attribute(it); } v.visit_expr(&*node.func); - tokens_helper(v, &node.paren_token.span); + skip!(node.paren_token); for el in Punctuated::pairs(&node.args) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_expr(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1363,7 +1315,7 @@ where v.visit_attribute(it); } v.visit_expr(&*node.expr); - tokens_helper(v, &node.as_token.span); + skip!(node.as_token); v.visit_type(&*node.ty); } #[cfg(feature = "full")] @@ -1374,28 +1326,34 @@ where for it in &node.attrs { v.visit_attribute(it); } - if let Some(it) = &node.movability { - tokens_helper(v, &it.span); - } - if let Some(it) = &node.asyncness { - tokens_helper(v, &it.span); - } - if let Some(it) = &node.capture { - tokens_helper(v, &it.span); + if let Some(it) = &node.lifetimes { + v.visit_bound_lifetimes(it); } - tokens_helper(v, &node.or1_token.spans); + skip!(node.constness); + skip!(node.movability); + skip!(node.asyncness); + skip!(node.capture); + skip!(node.or1_token); for el in Punctuated::pairs(&node.inputs) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_pat(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } - tokens_helper(v, &node.or2_token.spans); + skip!(node.or2_token); v.visit_return_type(&node.output); v.visit_expr(&*node.body); } #[cfg(feature = "full")] +pub fn visit_expr_const<'ast, V>(v: &mut V, node: &'ast ExprConst) +where + V: Visit<'ast> + ?Sized, +{ + for it in &node.attrs { + v.visit_attribute(it); + } + skip!(node.const_token); + v.visit_block(&node.block); +} +#[cfg(feature = "full")] pub fn visit_expr_continue<'ast, V>(v: &mut V, node: &'ast ExprContinue) where V: Visit<'ast> + ?Sized, @@ -1403,7 +1361,7 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.continue_token.span); + skip!(node.continue_token); if let Some(it) = &node.label { v.visit_lifetime(it); } @@ -1417,7 +1375,7 @@ where v.visit_attribute(it); } v.visit_expr(&*node.base); - tokens_helper(v, &node.dot_token.spans); + skip!(node.dot_token); v.visit_member(&node.member); } #[cfg(feature = "full")] @@ -1431,13 +1389,13 @@ where if let Some(it) = &node.label { v.visit_label(it); } - tokens_helper(v, &node.for_token.span); - v.visit_pat(&node.pat); - tokens_helper(v, &node.in_token.span); + skip!(node.for_token); + v.visit_pat(&*node.pat); + skip!(node.in_token); v.visit_expr(&*node.expr); v.visit_block(&node.body); } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_group<'ast, V>(v: &mut V, node: &'ast ExprGroup) where V: Visit<'ast> + ?Sized, @@ -1445,7 +1403,7 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.group_token.span); + skip!(node.group_token); v.visit_expr(&*node.expr); } #[cfg(feature = "full")] @@ -1456,11 +1414,11 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.if_token.span); + skip!(node.if_token); v.visit_expr(&*node.cond); v.visit_block(&node.then_branch); if let Some(it) = &node.else_branch { - tokens_helper(v, &(it).0.span); + skip!((it).0); v.visit_expr(&*(it).1); } } @@ -1473,10 +1431,20 @@ where v.visit_attribute(it); } v.visit_expr(&*node.expr); - tokens_helper(v, &node.bracket_token.span); + skip!(node.bracket_token); v.visit_expr(&*node.index); } #[cfg(feature = "full")] +pub fn visit_expr_infer<'ast, V>(v: &mut V, node: &'ast ExprInfer) +where + V: Visit<'ast> + ?Sized, +{ + for it in &node.attrs { + v.visit_attribute(it); + } + skip!(node.underscore_token); +} +#[cfg(feature = "full")] pub fn visit_expr_let<'ast, V>(v: &mut V, node: &'ast ExprLet) where V: Visit<'ast> + ?Sized, @@ -1484,9 +1452,9 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.let_token.span); - v.visit_pat(&node.pat); - tokens_helper(v, &node.eq_token.spans); + skip!(node.let_token); + v.visit_pat(&*node.pat); + skip!(node.eq_token); v.visit_expr(&*node.expr); } #[cfg(any(feature = "derive", feature = "full"))] @@ -1510,10 +1478,10 @@ where if let Some(it) = &node.label { v.visit_label(it); } - tokens_helper(v, &node.loop_token.span); + skip!(node.loop_token); v.visit_block(&node.body); } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_macro<'ast, V>(v: &mut V, node: &'ast ExprMacro) where V: Visit<'ast> + ?Sized, @@ -1531,9 +1499,9 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.match_token.span); + skip!(node.match_token); v.visit_expr(&*node.expr); - tokens_helper(v, &node.brace_token.span); + skip!(node.brace_token); for it in &node.arms { v.visit_arm(it); } @@ -1547,18 +1515,15 @@ where v.visit_attribute(it); } v.visit_expr(&*node.receiver); - tokens_helper(v, &node.dot_token.spans); + skip!(node.dot_token); v.visit_ident(&node.method); if let Some(it) = &node.turbofish { - v.visit_method_turbofish(it); + v.visit_angle_bracketed_generic_arguments(it); } - tokens_helper(v, &node.paren_token.span); + skip!(node.paren_token); for el in Punctuated::pairs(&node.args) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_expr(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1569,7 +1534,7 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.paren_token.span); + skip!(node.paren_token); v.visit_expr(&*node.expr); } #[cfg(any(feature = "derive", feature = "full"))] @@ -1593,11 +1558,11 @@ where for it in &node.attrs { v.visit_attribute(it); } - if let Some(it) = &node.from { + if let Some(it) = &node.start { v.visit_expr(&**it); } v.visit_range_limits(&node.limits); - if let Some(it) = &node.to { + if let Some(it) = &node.end { v.visit_expr(&**it); } } @@ -1609,10 +1574,8 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.and_token.spans); - if let Some(it) = &node.mutability { - tokens_helper(v, &it.span); - } + skip!(node.and_token); + skip!(node.mutability); v.visit_expr(&*node.expr); } #[cfg(feature = "full")] @@ -1623,9 +1586,9 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.bracket_token.span); + skip!(node.bracket_token); v.visit_expr(&*node.expr); - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); v.visit_expr(&*node.len); } #[cfg(feature = "full")] @@ -1636,7 +1599,7 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.return_token.span); + skip!(node.return_token); if let Some(it) = &node.expr { v.visit_expr(&**it); } @@ -1649,18 +1612,16 @@ where for it in &node.attrs { v.visit_attribute(it); } + if let Some(it) = &node.qself { + v.visit_qself(it); + } v.visit_path(&node.path); - tokens_helper(v, &node.brace_token.span); + skip!(node.brace_token); for el in Punctuated::pairs(&node.fields) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_field_value(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } - } - if let Some(it) = &node.dot2_token { - tokens_helper(v, &it.spans); } + skip!(node.dot2_token); if let Some(it) = &node.rest { v.visit_expr(&**it); } @@ -1674,7 +1635,7 @@ where v.visit_attribute(it); } v.visit_expr(&*node.expr); - tokens_helper(v, &node.question_token.spans); + skip!(node.question_token); } #[cfg(feature = "full")] pub fn visit_expr_try_block<'ast, V>(v: &mut V, node: &'ast ExprTryBlock) @@ -1684,7 +1645,7 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.try_token.span); + skip!(node.try_token); v.visit_block(&node.block); } #[cfg(feature = "full")] @@ -1695,27 +1656,12 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.paren_token.span); + skip!(node.paren_token); for el in Punctuated::pairs(&node.elems) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_expr(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } -#[cfg(feature = "full")] -pub fn visit_expr_type<'ast, V>(v: &mut V, node: &'ast ExprType) -where - V: Visit<'ast> + ?Sized, -{ - for it in &node.attrs { - v.visit_attribute(it); - } - v.visit_expr(&*node.expr); - tokens_helper(v, &node.colon_token.spans); - v.visit_type(&*node.ty); -} #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_unary<'ast, V>(v: &mut V, node: &'ast ExprUnary) where @@ -1735,7 +1681,7 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.unsafe_token.span); + skip!(node.unsafe_token); v.visit_block(&node.block); } #[cfg(feature = "full")] @@ -1749,7 +1695,7 @@ where if let Some(it) = &node.label { v.visit_label(it); } - tokens_helper(v, &node.while_token.span); + skip!(node.while_token); v.visit_expr(&*node.cond); v.visit_block(&node.body); } @@ -1761,7 +1707,7 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.yield_token.span); + skip!(node.yield_token); if let Some(it) = &node.expr { v.visit_expr(&**it); } @@ -1775,14 +1721,22 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); + v.visit_field_mutability(&node.mutability); if let Some(it) = &node.ident { v.visit_ident(it); } - if let Some(it) = &node.colon_token { - tokens_helper(v, &it.spans); - } + skip!(node.colon_token); v.visit_type(&node.ty); } +#[cfg(any(feature = "derive", feature = "full"))] +pub fn visit_field_mutability<'ast, V>(v: &mut V, node: &'ast FieldMutability) +where + V: Visit<'ast> + ?Sized, +{ + match node { + FieldMutability::None => {} + } +} #[cfg(feature = "full")] pub fn visit_field_pat<'ast, V>(v: &mut V, node: &'ast FieldPat) where @@ -1792,9 +1746,7 @@ where v.visit_attribute(it); } v.visit_member(&node.member); - if let Some(it) = &node.colon_token { - tokens_helper(v, &it.spans); - } + skip!(node.colon_token); v.visit_pat(&*node.pat); } #[cfg(feature = "full")] @@ -1806,9 +1758,7 @@ where v.visit_attribute(it); } v.visit_member(&node.member); - if let Some(it) = &node.colon_token { - tokens_helper(v, &it.spans); - } + skip!(node.colon_token); v.visit_expr(&node.expr); } #[cfg(any(feature = "derive", feature = "full"))] @@ -1831,13 +1781,10 @@ pub fn visit_fields_named<'ast, V>(v: &mut V, node: &'ast FieldsNamed) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.brace_token.span); + skip!(node.brace_token); for el in Punctuated::pairs(&node.named) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_field(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1845,13 +1792,10 @@ pub fn visit_fields_unnamed<'ast, V>(v: &mut V, node: &'ast FieldsUnnamed) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.paren_token.span); + skip!(node.paren_token); for el in Punctuated::pairs(&node.unnamed) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_field(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(feature = "full")] @@ -1902,8 +1846,6 @@ where ForeignItem::Verbatim(_binding_0) => { skip!(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -1916,7 +1858,7 @@ where } v.visit_visibility(&node.vis); v.visit_signature(&node.sig); - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_foreign_item_macro<'ast, V>(v: &mut V, node: &'ast ForeignItemMacro) @@ -1927,9 +1869,7 @@ where v.visit_attribute(it); } v.visit_macro(&node.mac); - if let Some(it) = &node.semi_token { - tokens_helper(v, &it.spans); - } + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_foreign_item_static<'ast, V>(v: &mut V, node: &'ast ForeignItemStatic) @@ -1940,14 +1880,12 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.static_token.span); - if let Some(it) = &node.mutability { - tokens_helper(v, &it.span); - } + skip!(node.static_token); + v.visit_static_mutability(&node.mutability); v.visit_ident(&node.ident); - tokens_helper(v, &node.colon_token.spans); + skip!(node.colon_token); v.visit_type(&*node.ty); - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_foreign_item_type<'ast, V>(v: &mut V, node: &'ast ForeignItemType) @@ -1958,9 +1896,10 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.type_token.span); + skip!(node.type_token); v.visit_ident(&node.ident); - tokens_helper(v, &node.semi_token.spans); + v.visit_generics(&node.generics); + skip!(node.semi_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_generic_argument<'ast, V>(v: &mut V, node: &'ast GenericArgument) @@ -1977,43 +1916,29 @@ where GenericArgument::Const(_binding_0) => { v.visit_expr(_binding_0); } - GenericArgument::Binding(_binding_0) => { - v.visit_binding(_binding_0); + GenericArgument::AssocType(_binding_0) => { + v.visit_assoc_type(_binding_0); + } + GenericArgument::AssocConst(_binding_0) => { + v.visit_assoc_const(_binding_0); } GenericArgument::Constraint(_binding_0) => { v.visit_constraint(_binding_0); } } } -#[cfg(feature = "full")] -pub fn visit_generic_method_argument<'ast, V>( - v: &mut V, - node: &'ast GenericMethodArgument, -) -where - V: Visit<'ast> + ?Sized, -{ - match node { - GenericMethodArgument::Type(_binding_0) => { - v.visit_type(_binding_0); - } - GenericMethodArgument::Const(_binding_0) => { - v.visit_expr(_binding_0); - } - } -} #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_generic_param<'ast, V>(v: &mut V, node: &'ast GenericParam) where V: Visit<'ast> + ?Sized, { match node { + GenericParam::Lifetime(_binding_0) => { + v.visit_lifetime_param(_binding_0); + } GenericParam::Type(_binding_0) => { v.visit_type_param(_binding_0); } - GenericParam::Lifetime(_binding_0) => { - v.visit_lifetime_def(_binding_0); - } GenericParam::Const(_binding_0) => { v.visit_const_param(_binding_0); } @@ -2024,19 +1949,12 @@ pub fn visit_generics<'ast, V>(v: &mut V, node: &'ast Generics) where V: Visit<'ast> + ?Sized, { - if let Some(it) = &node.lt_token { - tokens_helper(v, &it.spans); - } + skip!(node.lt_token); for el in Punctuated::pairs(&node.params) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_generic_param(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } - } - if let Some(it) = &node.gt_token { - tokens_helper(v, &it.spans); } + skip!(node.gt_token); if let Some(it) = &node.where_clause { v.visit_where_clause(it); } @@ -2056,8 +1974,8 @@ where ImplItem::Const(_binding_0) => { v.visit_impl_item_const(_binding_0); } - ImplItem::Method(_binding_0) => { - v.visit_impl_item_method(_binding_0); + ImplItem::Fn(_binding_0) => { + v.visit_impl_item_fn(_binding_0); } ImplItem::Type(_binding_0) => { v.visit_impl_item_type(_binding_0); @@ -2068,8 +1986,6 @@ where ImplItem::Verbatim(_binding_0) => { skip!(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -2081,44 +1997,39 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - if let Some(it) = &node.defaultness { - tokens_helper(v, &it.span); - } - tokens_helper(v, &node.const_token.span); + skip!(node.defaultness); + skip!(node.const_token); v.visit_ident(&node.ident); - tokens_helper(v, &node.colon_token.spans); + v.visit_generics(&node.generics); + skip!(node.colon_token); v.visit_type(&node.ty); - tokens_helper(v, &node.eq_token.spans); + skip!(node.eq_token); v.visit_expr(&node.expr); - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] -pub fn visit_impl_item_macro<'ast, V>(v: &mut V, node: &'ast ImplItemMacro) +pub fn visit_impl_item_fn<'ast, V>(v: &mut V, node: &'ast ImplItemFn) where V: Visit<'ast> + ?Sized, { for it in &node.attrs { v.visit_attribute(it); } - v.visit_macro(&node.mac); - if let Some(it) = &node.semi_token { - tokens_helper(v, &it.spans); - } + v.visit_visibility(&node.vis); + skip!(node.defaultness); + v.visit_signature(&node.sig); + v.visit_block(&node.block); } #[cfg(feature = "full")] -pub fn visit_impl_item_method<'ast, V>(v: &mut V, node: &'ast ImplItemMethod) +pub fn visit_impl_item_macro<'ast, V>(v: &mut V, node: &'ast ImplItemMacro) where V: Visit<'ast> + ?Sized, { for it in &node.attrs { v.visit_attribute(it); } - v.visit_visibility(&node.vis); - if let Some(it) = &node.defaultness { - tokens_helper(v, &it.span); - } - v.visit_signature(&node.sig); - v.visit_block(&node.block); + v.visit_macro(&node.mac); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_impl_item_type<'ast, V>(v: &mut V, node: &'ast ImplItemType) @@ -2129,15 +2040,20 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - if let Some(it) = &node.defaultness { - tokens_helper(v, &it.span); - } - tokens_helper(v, &node.type_token.span); + skip!(node.defaultness); + skip!(node.type_token); v.visit_ident(&node.ident); v.visit_generics(&node.generics); - tokens_helper(v, &node.eq_token.spans); + skip!(node.eq_token); v.visit_type(&node.ty); - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); +} +#[cfg(feature = "full")] +pub fn visit_impl_restriction<'ast, V>(v: &mut V, node: &'ast ImplRestriction) +where + V: Visit<'ast> + ?Sized, +{ + match *node {} } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_index<'ast, V>(v: &mut V, node: &'ast Index) @@ -2174,9 +2090,6 @@ where Item::Macro(_binding_0) => { v.visit_item_macro(_binding_0); } - Item::Macro2(_binding_0) => { - v.visit_item_macro2(_binding_0); - } Item::Mod(_binding_0) => { v.visit_item_mod(_binding_0); } @@ -2204,8 +2117,6 @@ where Item::Verbatim(_binding_0) => { skip!(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -2217,13 +2128,14 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.const_token.span); + skip!(node.const_token); v.visit_ident(&node.ident); - tokens_helper(v, &node.colon_token.spans); + v.visit_generics(&node.generics); + skip!(node.colon_token); v.visit_type(&*node.ty); - tokens_helper(v, &node.eq_token.spans); + skip!(node.eq_token); v.visit_expr(&*node.expr); - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_enum<'ast, V>(v: &mut V, node: &'ast ItemEnum) @@ -2234,16 +2146,13 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.enum_token.span); + skip!(node.enum_token); v.visit_ident(&node.ident); v.visit_generics(&node.generics); - tokens_helper(v, &node.brace_token.span); + skip!(node.brace_token); for el in Punctuated::pairs(&node.variants) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_variant(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(feature = "full")] @@ -2255,14 +2164,14 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.extern_token.span); - tokens_helper(v, &node.crate_token.span); + skip!(node.extern_token); + skip!(node.crate_token); v.visit_ident(&node.ident); if let Some(it) = &node.rename { - tokens_helper(v, &(it).0.span); + skip!((it).0); v.visit_ident(&(it).1); } - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_fn<'ast, V>(v: &mut V, node: &'ast ItemFn) @@ -2284,8 +2193,9 @@ where for it in &node.attrs { v.visit_attribute(it); } + skip!(node.unsafety); v.visit_abi(&node.abi); - tokens_helper(v, &node.brace_token.span); + skip!(node.brace_token); for it in &node.items { v.visit_foreign_item(it); } @@ -2298,23 +2208,17 @@ where for it in &node.attrs { v.visit_attribute(it); } - if let Some(it) = &node.defaultness { - tokens_helper(v, &it.span); - } - if let Some(it) = &node.unsafety { - tokens_helper(v, &it.span); - } - tokens_helper(v, &node.impl_token.span); + skip!(node.defaultness); + skip!(node.unsafety); + skip!(node.impl_token); v.visit_generics(&node.generics); if let Some(it) = &node.trait_ { - if let Some(it) = &(it).0 { - tokens_helper(v, &it.spans); - } + skip!((it).0); v.visit_path(&(it).1); - tokens_helper(v, &(it).2.span); + skip!((it).2); } v.visit_type(&*node.self_ty); - tokens_helper(v, &node.brace_token.span); + skip!(node.brace_token); for it in &node.items { v.visit_impl_item(it); } @@ -2331,22 +2235,7 @@ where v.visit_ident(it); } v.visit_macro(&node.mac); - if let Some(it) = &node.semi_token { - tokens_helper(v, &it.spans); - } -} -#[cfg(feature = "full")] -pub fn visit_item_macro2<'ast, V>(v: &mut V, node: &'ast ItemMacro2) -where - V: Visit<'ast> + ?Sized, -{ - for it in &node.attrs { - v.visit_attribute(it); - } - v.visit_visibility(&node.vis); - tokens_helper(v, &node.macro_token.span); - v.visit_ident(&node.ident); - skip!(node.rules); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_mod<'ast, V>(v: &mut V, node: &'ast ItemMod) @@ -2357,17 +2246,16 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.mod_token.span); + skip!(node.unsafety); + skip!(node.mod_token); v.visit_ident(&node.ident); if let Some(it) = &node.content { - tokens_helper(v, &(it).0.span); + skip!((it).0); for it in &(it).1 { v.visit_item(it); } } - if let Some(it) = &node.semi { - tokens_helper(v, &it.spans); - } + skip!(node.semi); } #[cfg(feature = "full")] pub fn visit_item_static<'ast, V>(v: &mut V, node: &'ast ItemStatic) @@ -2378,16 +2266,14 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.static_token.span); - if let Some(it) = &node.mutability { - tokens_helper(v, &it.span); - } + skip!(node.static_token); + v.visit_static_mutability(&node.mutability); v.visit_ident(&node.ident); - tokens_helper(v, &node.colon_token.spans); + skip!(node.colon_token); v.visit_type(&*node.ty); - tokens_helper(v, &node.eq_token.spans); + skip!(node.eq_token); v.visit_expr(&*node.expr); - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_struct<'ast, V>(v: &mut V, node: &'ast ItemStruct) @@ -2398,13 +2284,11 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.struct_token.span); + skip!(node.struct_token); v.visit_ident(&node.ident); v.visit_generics(&node.generics); v.visit_fields(&node.fields); - if let Some(it) = &node.semi_token { - tokens_helper(v, &it.spans); - } + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_trait<'ast, V>(v: &mut V, node: &'ast ItemTrait) @@ -2415,26 +2299,20 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - if let Some(it) = &node.unsafety { - tokens_helper(v, &it.span); + skip!(node.unsafety); + skip!(node.auto_token); + if let Some(it) = &node.restriction { + v.visit_impl_restriction(it); } - if let Some(it) = &node.auto_token { - tokens_helper(v, &it.span); - } - tokens_helper(v, &node.trait_token.span); + skip!(node.trait_token); v.visit_ident(&node.ident); v.visit_generics(&node.generics); - if let Some(it) = &node.colon_token { - tokens_helper(v, &it.spans); - } + skip!(node.colon_token); for el in Punctuated::pairs(&node.supertraits) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_type_param_bound(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } - tokens_helper(v, &node.brace_token.span); + skip!(node.brace_token); for it in &node.items { v.visit_trait_item(it); } @@ -2448,18 +2326,15 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.trait_token.span); + skip!(node.trait_token); v.visit_ident(&node.ident); v.visit_generics(&node.generics); - tokens_helper(v, &node.eq_token.spans); + skip!(node.eq_token); for el in Punctuated::pairs(&node.bounds) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_type_param_bound(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_type<'ast, V>(v: &mut V, node: &'ast ItemType) @@ -2470,12 +2345,12 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.type_token.span); + skip!(node.type_token); v.visit_ident(&node.ident); v.visit_generics(&node.generics); - tokens_helper(v, &node.eq_token.spans); + skip!(node.eq_token); v.visit_type(&*node.ty); - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_union<'ast, V>(v: &mut V, node: &'ast ItemUnion) @@ -2486,7 +2361,7 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.union_token.span); + skip!(node.union_token); v.visit_ident(&node.ident); v.visit_generics(&node.generics); v.visit_fields_named(&node.fields); @@ -2500,12 +2375,10 @@ where v.visit_attribute(it); } v.visit_visibility(&node.vis); - tokens_helper(v, &node.use_token.span); - if let Some(it) = &node.leading_colon { - tokens_helper(v, &it.spans); - } + skip!(node.use_token); + skip!(node.leading_colon); v.visit_use_tree(&node.tree); - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_label<'ast, V>(v: &mut V, node: &'ast Label) @@ -2513,7 +2386,7 @@ where V: Visit<'ast> + ?Sized, { v.visit_lifetime(&node.name); - tokens_helper(v, &node.colon_token.spans); + skip!(node.colon_token); } pub fn visit_lifetime<'ast, V>(v: &mut V, node: &'ast Lifetime) where @@ -2523,7 +2396,7 @@ where v.visit_ident(&node.ident); } #[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_lifetime_def<'ast, V>(v: &mut V, node: &'ast LifetimeDef) +pub fn visit_lifetime_param<'ast, V>(v: &mut V, node: &'ast LifetimeParam) where V: Visit<'ast> + ?Sized, { @@ -2531,15 +2404,10 @@ where v.visit_attribute(it); } v.visit_lifetime(&node.lifetime); - if let Some(it) = &node.colon_token { - tokens_helper(v, &it.spans); - } + skip!(node.colon_token); for el in Punctuated::pairs(&node.bounds) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_lifetime(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } pub fn visit_lit<'ast, V>(v: &mut V, node: &'ast Lit) @@ -2612,13 +2480,24 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.let_token.span); + skip!(node.let_token); v.visit_pat(&node.pat); if let Some(it) = &node.init { - tokens_helper(v, &(it).0.spans); + v.visit_local_init(it); + } + skip!(node.semi_token); +} +#[cfg(feature = "full")] +pub fn visit_local_init<'ast, V>(v: &mut V, node: &'ast LocalInit) +where + V: Visit<'ast> + ?Sized, +{ + skip!(node.eq_token); + v.visit_expr(&*node.expr); + if let Some(it) = &node.diverge { + skip!((it).0); v.visit_expr(&*(it).1); } - tokens_helper(v, &node.semi_token.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_macro<'ast, V>(v: &mut V, node: &'ast Macro) @@ -2626,7 +2505,7 @@ where V: Visit<'ast> + ?Sized, { v.visit_path(&node.path); - tokens_helper(v, &node.bang_token.spans); + skip!(node.bang_token); v.visit_macro_delimiter(&node.delimiter); skip!(node.tokens); } @@ -2637,13 +2516,13 @@ where { match node { MacroDelimiter::Paren(_binding_0) => { - tokens_helper(v, &_binding_0.span); + skip!(_binding_0); } MacroDelimiter::Brace(_binding_0) => { - tokens_helper(v, &_binding_0.span); + skip!(_binding_0); } MacroDelimiter::Bracket(_binding_0) => { - tokens_helper(v, &_binding_0.span); + skip!(_binding_0); } } } @@ -2684,14 +2563,8 @@ where V: Visit<'ast> + ?Sized, { v.visit_path(&node.path); - tokens_helper(v, &node.paren_token.span); - for el in Punctuated::pairs(&node.nested) { - let (it, p) = el.into_tuple(); - v.visit_nested_meta(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } - } + v.visit_macro_delimiter(&node.delimiter); + skip!(node.tokens); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_meta_name_value<'ast, V>(v: &mut V, node: &'ast MetaNameValue) @@ -2699,38 +2572,8 @@ where V: Visit<'ast> + ?Sized, { v.visit_path(&node.path); - tokens_helper(v, &node.eq_token.spans); - v.visit_lit(&node.lit); -} -#[cfg(feature = "full")] -pub fn visit_method_turbofish<'ast, V>(v: &mut V, node: &'ast MethodTurbofish) -where - V: Visit<'ast> + ?Sized, -{ - tokens_helper(v, &node.colon2_token.spans); - tokens_helper(v, &node.lt_token.spans); - for el in Punctuated::pairs(&node.args) { - let (it, p) = el.into_tuple(); - v.visit_generic_method_argument(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } - } - tokens_helper(v, &node.gt_token.spans); -} -#[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_nested_meta<'ast, V>(v: &mut V, node: &'ast NestedMeta) -where - V: Visit<'ast> + ?Sized, -{ - match node { - NestedMeta::Meta(_binding_0) => { - v.visit_meta(_binding_0); - } - NestedMeta::Lit(_binding_0) => { - v.visit_lit(_binding_0); - } - } + skip!(node.eq_token); + v.visit_expr(&node.value); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_parenthesized_generic_arguments<'ast, V>( @@ -2740,13 +2583,10 @@ pub fn visit_parenthesized_generic_arguments<'ast, V>( where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.paren_token.span); + skip!(node.paren_token); for el in Punctuated::pairs(&node.inputs) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_type(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } v.visit_return_type(&node.output); } @@ -2756,26 +2596,29 @@ where V: Visit<'ast> + ?Sized, { match node { - Pat::Box(_binding_0) => { - v.visit_pat_box(_binding_0); + Pat::Const(_binding_0) => { + v.visit_expr_const(_binding_0); } Pat::Ident(_binding_0) => { v.visit_pat_ident(_binding_0); } Pat::Lit(_binding_0) => { - v.visit_pat_lit(_binding_0); + v.visit_expr_lit(_binding_0); } Pat::Macro(_binding_0) => { - v.visit_pat_macro(_binding_0); + v.visit_expr_macro(_binding_0); } Pat::Or(_binding_0) => { v.visit_pat_or(_binding_0); } + Pat::Paren(_binding_0) => { + v.visit_pat_paren(_binding_0); + } Pat::Path(_binding_0) => { - v.visit_pat_path(_binding_0); + v.visit_expr_path(_binding_0); } Pat::Range(_binding_0) => { - v.visit_pat_range(_binding_0); + v.visit_expr_range(_binding_0); } Pat::Reference(_binding_0) => { v.visit_pat_reference(_binding_0); @@ -2804,22 +2647,9 @@ where Pat::Wild(_binding_0) => { v.visit_pat_wild(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] -pub fn visit_pat_box<'ast, V>(v: &mut V, node: &'ast PatBox) -where - V: Visit<'ast> + ?Sized, -{ - for it in &node.attrs { - v.visit_attribute(it); - } - tokens_helper(v, &node.box_token.span); - v.visit_pat(&*node.pat); -} -#[cfg(feature = "full")] pub fn visit_pat_ident<'ast, V>(v: &mut V, node: &'ast PatIdent) where V: Visit<'ast> + ?Sized, @@ -2827,39 +2657,15 @@ where for it in &node.attrs { v.visit_attribute(it); } - if let Some(it) = &node.by_ref { - tokens_helper(v, &it.span); - } - if let Some(it) = &node.mutability { - tokens_helper(v, &it.span); - } + skip!(node.by_ref); + skip!(node.mutability); v.visit_ident(&node.ident); if let Some(it) = &node.subpat { - tokens_helper(v, &(it).0.spans); + skip!((it).0); v.visit_pat(&*(it).1); } } #[cfg(feature = "full")] -pub fn visit_pat_lit<'ast, V>(v: &mut V, node: &'ast PatLit) -where - V: Visit<'ast> + ?Sized, -{ - for it in &node.attrs { - v.visit_attribute(it); - } - v.visit_expr(&*node.expr); -} -#[cfg(feature = "full")] -pub fn visit_pat_macro<'ast, V>(v: &mut V, node: &'ast PatMacro) -where - V: Visit<'ast> + ?Sized, -{ - for it in &node.attrs { - v.visit_attribute(it); - } - v.visit_macro(&node.mac); -} -#[cfg(feature = "full")] pub fn visit_pat_or<'ast, V>(v: &mut V, node: &'ast PatOr) where V: Visit<'ast> + ?Sized, @@ -2867,41 +2673,22 @@ where for it in &node.attrs { v.visit_attribute(it); } - if let Some(it) = &node.leading_vert { - tokens_helper(v, &it.spans); - } + skip!(node.leading_vert); for el in Punctuated::pairs(&node.cases) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_pat(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } - } -} -#[cfg(feature = "full")] -pub fn visit_pat_path<'ast, V>(v: &mut V, node: &'ast PatPath) -where - V: Visit<'ast> + ?Sized, -{ - for it in &node.attrs { - v.visit_attribute(it); - } - if let Some(it) = &node.qself { - v.visit_qself(it); } - v.visit_path(&node.path); } #[cfg(feature = "full")] -pub fn visit_pat_range<'ast, V>(v: &mut V, node: &'ast PatRange) +pub fn visit_pat_paren<'ast, V>(v: &mut V, node: &'ast PatParen) where V: Visit<'ast> + ?Sized, { for it in &node.attrs { v.visit_attribute(it); } - v.visit_expr(&*node.lo); - v.visit_range_limits(&node.limits); - v.visit_expr(&*node.hi); + skip!(node.paren_token); + v.visit_pat(&*node.pat); } #[cfg(feature = "full")] pub fn visit_pat_reference<'ast, V>(v: &mut V, node: &'ast PatReference) @@ -2911,10 +2698,8 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.and_token.spans); - if let Some(it) = &node.mutability { - tokens_helper(v, &it.span); - } + skip!(node.and_token); + skip!(node.mutability); v.visit_pat(&*node.pat); } #[cfg(feature = "full")] @@ -2925,7 +2710,7 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.dot2_token.spans); + skip!(node.dot2_token); } #[cfg(feature = "full")] pub fn visit_pat_slice<'ast, V>(v: &mut V, node: &'ast PatSlice) @@ -2935,13 +2720,10 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.bracket_token.span); + skip!(node.bracket_token); for el in Punctuated::pairs(&node.elems) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_pat(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(feature = "full")] @@ -2952,17 +2734,17 @@ where for it in &node.attrs { v.visit_attribute(it); } + if let Some(it) = &node.qself { + v.visit_qself(it); + } v.visit_path(&node.path); - tokens_helper(v, &node.brace_token.span); + skip!(node.brace_token); for el in Punctuated::pairs(&node.fields) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_field_pat(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } - if let Some(it) = &node.dot2_token { - tokens_helper(v, &it.spans); + if let Some(it) = &node.rest { + v.visit_pat_rest(it); } } #[cfg(feature = "full")] @@ -2973,13 +2755,10 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.paren_token.span); + skip!(node.paren_token); for el in Punctuated::pairs(&node.elems) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_pat(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(feature = "full")] @@ -2990,8 +2769,15 @@ where for it in &node.attrs { v.visit_attribute(it); } + if let Some(it) = &node.qself { + v.visit_qself(it); + } v.visit_path(&node.path); - v.visit_pat_tuple(&node.pat); + skip!(node.paren_token); + for el in Punctuated::pairs(&node.elems) { + let it = el.value(); + v.visit_pat(it); + } } #[cfg(feature = "full")] pub fn visit_pat_type<'ast, V>(v: &mut V, node: &'ast PatType) @@ -3002,7 +2788,7 @@ where v.visit_attribute(it); } v.visit_pat(&*node.pat); - tokens_helper(v, &node.colon_token.spans); + skip!(node.colon_token); v.visit_type(&*node.ty); } #[cfg(feature = "full")] @@ -3013,22 +2799,17 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.underscore_token.spans); + skip!(node.underscore_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_path<'ast, V>(v: &mut V, node: &'ast Path) where V: Visit<'ast> + ?Sized, { - if let Some(it) = &node.leading_colon { - tokens_helper(v, &it.spans); - } + skip!(node.leading_colon); for el in Punctuated::pairs(&node.segments) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_path_segment(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3055,27 +2836,15 @@ where v.visit_path_arguments(&node.arguments); } #[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_predicate_eq<'ast, V>(v: &mut V, node: &'ast PredicateEq) -where - V: Visit<'ast> + ?Sized, -{ - v.visit_type(&node.lhs_ty); - tokens_helper(v, &node.eq_token.spans); - v.visit_type(&node.rhs_ty); -} -#[cfg(any(feature = "derive", feature = "full"))] pub fn visit_predicate_lifetime<'ast, V>(v: &mut V, node: &'ast PredicateLifetime) where V: Visit<'ast> + ?Sized, { v.visit_lifetime(&node.lifetime); - tokens_helper(v, &node.colon_token.spans); + skip!(node.colon_token); for el in Punctuated::pairs(&node.bounds) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_lifetime(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3087,13 +2856,10 @@ where v.visit_bound_lifetimes(it); } v.visit_type(&node.bounded_ty); - tokens_helper(v, &node.colon_token.spans); + skip!(node.colon_token); for el in Punctuated::pairs(&node.bounds) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_type_param_bound(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3101,13 +2867,11 @@ pub fn visit_qself<'ast, V>(v: &mut V, node: &'ast QSelf) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.lt_token.spans); + skip!(node.lt_token); v.visit_type(&*node.ty); skip!(node.position); - if let Some(it) = &node.as_token { - tokens_helper(v, &it.span); - } - tokens_helper(v, &node.gt_token.spans); + skip!(node.as_token); + skip!(node.gt_token); } #[cfg(feature = "full")] pub fn visit_range_limits<'ast, V>(v: &mut V, node: &'ast RangeLimits) @@ -3116,10 +2880,10 @@ where { match node { RangeLimits::HalfOpen(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } RangeLimits::Closed(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } } } @@ -3132,15 +2896,15 @@ where v.visit_attribute(it); } if let Some(it) = &node.reference { - tokens_helper(v, &(it).0.spans); + skip!((it).0); if let Some(it) = &(it).1 { v.visit_lifetime(it); } } - if let Some(it) = &node.mutability { - tokens_helper(v, &it.span); - } - tokens_helper(v, &node.self_token.span); + skip!(node.mutability); + skip!(node.self_token); + skip!(node.colon_token); + v.visit_type(&*node.ty); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_return_type<'ast, V>(v: &mut V, node: &'ast ReturnType) @@ -3150,7 +2914,7 @@ where match node { ReturnType::Default => {} ReturnType::Type(_binding_0, _binding_1) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); v.visit_type(&**_binding_1); } } @@ -3160,28 +2924,19 @@ pub fn visit_signature<'ast, V>(v: &mut V, node: &'ast Signature) where V: Visit<'ast> + ?Sized, { - if let Some(it) = &node.constness { - tokens_helper(v, &it.span); - } - if let Some(it) = &node.asyncness { - tokens_helper(v, &it.span); - } - if let Some(it) = &node.unsafety { - tokens_helper(v, &it.span); - } + skip!(node.constness); + skip!(node.asyncness); + skip!(node.unsafety); if let Some(it) = &node.abi { v.visit_abi(it); } - tokens_helper(v, &node.fn_token.span); + skip!(node.fn_token); v.visit_ident(&node.ident); v.visit_generics(&node.generics); - tokens_helper(v, &node.paren_token.span); + skip!(node.paren_token); for el in Punctuated::pairs(&node.inputs) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_fn_arg(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } if let Some(it) = &node.variadic { v.visit_variadic(it); @@ -3193,6 +2948,18 @@ where V: Visit<'ast> + ?Sized, {} #[cfg(feature = "full")] +pub fn visit_static_mutability<'ast, V>(v: &mut V, node: &'ast StaticMutability) +where + V: Visit<'ast> + ?Sized, +{ + match node { + StaticMutability::Mut(_binding_0) => { + skip!(_binding_0); + } + StaticMutability::None => {} + } +} +#[cfg(feature = "full")] pub fn visit_stmt<'ast, V>(v: &mut V, node: &'ast Stmt) where V: Visit<'ast> + ?Sized, @@ -3204,23 +2971,32 @@ where Stmt::Item(_binding_0) => { v.visit_item(_binding_0); } - Stmt::Expr(_binding_0) => { + Stmt::Expr(_binding_0, _binding_1) => { v.visit_expr(_binding_0); + skip!(_binding_1); } - Stmt::Semi(_binding_0, _binding_1) => { - v.visit_expr(_binding_0); - tokens_helper(v, &_binding_1.spans); + Stmt::Macro(_binding_0) => { + v.visit_stmt_macro(_binding_0); } } } +#[cfg(feature = "full")] +pub fn visit_stmt_macro<'ast, V>(v: &mut V, node: &'ast StmtMacro) +where + V: Visit<'ast> + ?Sized, +{ + for it in &node.attrs { + v.visit_attribute(it); + } + v.visit_macro(&node.mac); + skip!(node.semi_token); +} #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_trait_bound<'ast, V>(v: &mut V, node: &'ast TraitBound) where V: Visit<'ast> + ?Sized, { - if let Some(it) = &node.paren_token { - tokens_helper(v, &it.span); - } + skip!(node.paren_token); v.visit_trait_bound_modifier(&node.modifier); if let Some(it) = &node.lifetimes { v.visit_bound_lifetimes(it); @@ -3235,7 +3011,7 @@ where match node { TraitBoundModifier::None => {} TraitBoundModifier::Maybe(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } } } @@ -3248,8 +3024,8 @@ where TraitItem::Const(_binding_0) => { v.visit_trait_item_const(_binding_0); } - TraitItem::Method(_binding_0) => { - v.visit_trait_item_method(_binding_0); + TraitItem::Fn(_binding_0) => { + v.visit_trait_item_fn(_binding_0); } TraitItem::Type(_binding_0) => { v.visit_trait_item_type(_binding_0); @@ -3260,8 +3036,6 @@ where TraitItem::Verbatim(_binding_0) => { skip!(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -3272,44 +3046,41 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.const_token.span); + skip!(node.const_token); v.visit_ident(&node.ident); - tokens_helper(v, &node.colon_token.spans); + v.visit_generics(&node.generics); + skip!(node.colon_token); v.visit_type(&node.ty); if let Some(it) = &node.default { - tokens_helper(v, &(it).0.spans); + skip!((it).0); v.visit_expr(&(it).1); } - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] -pub fn visit_trait_item_macro<'ast, V>(v: &mut V, node: &'ast TraitItemMacro) +pub fn visit_trait_item_fn<'ast, V>(v: &mut V, node: &'ast TraitItemFn) where V: Visit<'ast> + ?Sized, { for it in &node.attrs { v.visit_attribute(it); } - v.visit_macro(&node.mac); - if let Some(it) = &node.semi_token { - tokens_helper(v, &it.spans); + v.visit_signature(&node.sig); + if let Some(it) = &node.default { + v.visit_block(it); } + skip!(node.semi_token); } #[cfg(feature = "full")] -pub fn visit_trait_item_method<'ast, V>(v: &mut V, node: &'ast TraitItemMethod) +pub fn visit_trait_item_macro<'ast, V>(v: &mut V, node: &'ast TraitItemMacro) where V: Visit<'ast> + ?Sized, { for it in &node.attrs { v.visit_attribute(it); } - v.visit_signature(&node.sig); - if let Some(it) = &node.default { - v.visit_block(it); - } - if let Some(it) = &node.semi_token { - tokens_helper(v, &it.spans); - } + v.visit_macro(&node.mac); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_trait_item_type<'ast, V>(v: &mut V, node: &'ast TraitItemType) @@ -3319,24 +3090,19 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.type_token.span); + skip!(node.type_token); v.visit_ident(&node.ident); v.visit_generics(&node.generics); - if let Some(it) = &node.colon_token { - tokens_helper(v, &it.spans); - } + skip!(node.colon_token); for el in Punctuated::pairs(&node.bounds) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_type_param_bound(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } if let Some(it) = &node.default { - tokens_helper(v, &(it).0.spans); + skip!((it).0); v.visit_type(&(it).1); } - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type<'ast, V>(v: &mut V, node: &'ast Type) @@ -3389,8 +3155,6 @@ where Type::Verbatim(_binding_0) => { skip!(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3398,9 +3162,9 @@ pub fn visit_type_array<'ast, V>(v: &mut V, node: &'ast TypeArray) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.bracket_token.span); + skip!(node.bracket_token); v.visit_type(&*node.elem); - tokens_helper(v, &node.semi_token.spans); + skip!(node.semi_token); v.visit_expr(&node.len); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3411,23 +3175,18 @@ where if let Some(it) = &node.lifetimes { v.visit_bound_lifetimes(it); } - if let Some(it) = &node.unsafety { - tokens_helper(v, &it.span); - } + skip!(node.unsafety); if let Some(it) = &node.abi { v.visit_abi(it); } - tokens_helper(v, &node.fn_token.span); - tokens_helper(v, &node.paren_token.span); + skip!(node.fn_token); + skip!(node.paren_token); for el in Punctuated::pairs(&node.inputs) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_bare_fn_arg(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } if let Some(it) = &node.variadic { - v.visit_variadic(it); + v.visit_bare_variadic(it); } v.visit_return_type(&node.output); } @@ -3436,7 +3195,7 @@ pub fn visit_type_group<'ast, V>(v: &mut V, node: &'ast TypeGroup) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.group_token.span); + skip!(node.group_token); v.visit_type(&*node.elem); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3444,13 +3203,10 @@ pub fn visit_type_impl_trait<'ast, V>(v: &mut V, node: &'ast TypeImplTrait) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.impl_token.span); + skip!(node.impl_token); for el in Punctuated::pairs(&node.bounds) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_type_param_bound(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3458,7 +3214,7 @@ pub fn visit_type_infer<'ast, V>(v: &mut V, node: &'ast TypeInfer) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.underscore_token.spans); + skip!(node.underscore_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_macro<'ast, V>(v: &mut V, node: &'ast TypeMacro) @@ -3472,7 +3228,7 @@ pub fn visit_type_never<'ast, V>(v: &mut V, node: &'ast TypeNever) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.bang_token.spans); + skip!(node.bang_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_param<'ast, V>(v: &mut V, node: &'ast TypeParam) @@ -3483,19 +3239,12 @@ where v.visit_attribute(it); } v.visit_ident(&node.ident); - if let Some(it) = &node.colon_token { - tokens_helper(v, &it.spans); - } + skip!(node.colon_token); for el in Punctuated::pairs(&node.bounds) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_type_param_bound(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } - } - if let Some(it) = &node.eq_token { - tokens_helper(v, &it.spans); } + skip!(node.eq_token); if let Some(it) = &node.default { v.visit_type(it); } @@ -3512,6 +3261,9 @@ where TypeParamBound::Lifetime(_binding_0) => { v.visit_lifetime(_binding_0); } + TypeParamBound::Verbatim(_binding_0) => { + skip!(_binding_0); + } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3519,7 +3271,7 @@ pub fn visit_type_paren<'ast, V>(v: &mut V, node: &'ast TypeParen) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.paren_token.span); + skip!(node.paren_token); v.visit_type(&*node.elem); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3537,13 +3289,9 @@ pub fn visit_type_ptr<'ast, V>(v: &mut V, node: &'ast TypePtr) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.star_token.spans); - if let Some(it) = &node.const_token { - tokens_helper(v, &it.span); - } - if let Some(it) = &node.mutability { - tokens_helper(v, &it.span); - } + skip!(node.star_token); + skip!(node.const_token); + skip!(node.mutability); v.visit_type(&*node.elem); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3551,13 +3299,11 @@ pub fn visit_type_reference<'ast, V>(v: &mut V, node: &'ast TypeReference) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.and_token.spans); + skip!(node.and_token); if let Some(it) = &node.lifetime { v.visit_lifetime(it); } - if let Some(it) = &node.mutability { - tokens_helper(v, &it.span); - } + skip!(node.mutability); v.visit_type(&*node.elem); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3565,7 +3311,7 @@ pub fn visit_type_slice<'ast, V>(v: &mut V, node: &'ast TypeSlice) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.bracket_token.span); + skip!(node.bracket_token); v.visit_type(&*node.elem); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3573,15 +3319,10 @@ pub fn visit_type_trait_object<'ast, V>(v: &mut V, node: &'ast TypeTraitObject) where V: Visit<'ast> + ?Sized, { - if let Some(it) = &node.dyn_token { - tokens_helper(v, &it.span); - } + skip!(node.dyn_token); for el in Punctuated::pairs(&node.bounds) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_type_param_bound(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3589,13 +3330,10 @@ pub fn visit_type_tuple<'ast, V>(v: &mut V, node: &'ast TypeTuple) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.paren_token.span); + skip!(node.paren_token); for el in Punctuated::pairs(&node.elems) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_type(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3605,13 +3343,13 @@ where { match node { UnOp::Deref(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } UnOp::Not(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } UnOp::Neg(_binding_0) => { - tokens_helper(v, &_binding_0.spans); + skip!(_binding_0); } } } @@ -3620,20 +3358,17 @@ pub fn visit_use_glob<'ast, V>(v: &mut V, node: &'ast UseGlob) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.star_token.spans); + skip!(node.star_token); } #[cfg(feature = "full")] pub fn visit_use_group<'ast, V>(v: &mut V, node: &'ast UseGroup) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.brace_token.span); + skip!(node.brace_token); for el in Punctuated::pairs(&node.items) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_use_tree(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(feature = "full")] @@ -3649,7 +3384,7 @@ where V: Visit<'ast> + ?Sized, { v.visit_ident(&node.ident); - tokens_helper(v, &node.colon2_token.spans); + skip!(node.colon2_token); v.visit_use_tree(&*node.tree); } #[cfg(feature = "full")] @@ -3658,7 +3393,7 @@ where V: Visit<'ast> + ?Sized, { v.visit_ident(&node.ident); - tokens_helper(v, &node.as_token.span); + skip!(node.as_token); v.visit_ident(&node.rename); } #[cfg(feature = "full")] @@ -3684,7 +3419,7 @@ where } } } -#[cfg(any(feature = "derive", feature = "full"))] +#[cfg(feature = "full")] pub fn visit_variadic<'ast, V>(v: &mut V, node: &'ast Variadic) where V: Visit<'ast> + ?Sized, @@ -3692,7 +3427,12 @@ where for it in &node.attrs { v.visit_attribute(it); } - tokens_helper(v, &node.dots.spans); + if let Some(it) = &node.pat { + v.visit_pat(&*(it).0); + skip!((it).1); + } + skip!(node.dots); + skip!(node.comma); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_variant<'ast, V>(v: &mut V, node: &'ast Variant) @@ -3705,34 +3445,18 @@ where v.visit_ident(&node.ident); v.visit_fields(&node.fields); if let Some(it) = &node.discriminant { - tokens_helper(v, &(it).0.spans); + skip!((it).0); v.visit_expr(&(it).1); } } #[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_vis_crate<'ast, V>(v: &mut V, node: &'ast VisCrate) -where - V: Visit<'ast> + ?Sized, -{ - tokens_helper(v, &node.crate_token.span); -} -#[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_vis_public<'ast, V>(v: &mut V, node: &'ast VisPublic) -where - V: Visit<'ast> + ?Sized, -{ - tokens_helper(v, &node.pub_token.span); -} -#[cfg(any(feature = "derive", feature = "full"))] pub fn visit_vis_restricted<'ast, V>(v: &mut V, node: &'ast VisRestricted) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.pub_token.span); - tokens_helper(v, &node.paren_token.span); - if let Some(it) = &node.in_token { - tokens_helper(v, &it.span); - } + skip!(node.pub_token); + skip!(node.paren_token); + skip!(node.in_token); v.visit_path(&*node.path); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3742,10 +3466,7 @@ where { match node { Visibility::Public(_binding_0) => { - v.visit_vis_public(_binding_0); - } - Visibility::Crate(_binding_0) => { - v.visit_vis_crate(_binding_0); + skip!(_binding_0); } Visibility::Restricted(_binding_0) => { v.visit_vis_restricted(_binding_0); @@ -3758,13 +3479,10 @@ pub fn visit_where_clause<'ast, V>(v: &mut V, node: &'ast WhereClause) where V: Visit<'ast> + ?Sized, { - tokens_helper(v, &node.where_token.span); + skip!(node.where_token); for el in Punctuated::pairs(&node.predicates) { - let (it, p) = el.into_tuple(); + let it = el.value(); v.visit_where_predicate(it); - if let Some(p) = p { - tokens_helper(v, &p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3773,14 +3491,11 @@ where V: Visit<'ast> + ?Sized, { match node { - WherePredicate::Type(_binding_0) => { - v.visit_predicate_type(_binding_0); - } WherePredicate::Lifetime(_binding_0) => { v.visit_predicate_lifetime(_binding_0); } - WherePredicate::Eq(_binding_0) => { - v.visit_predicate_eq(_binding_0); + WherePredicate::Type(_binding_0) => { + v.visit_predicate_type(_binding_0); } } } diff --git a/vendor/syn/src/gen/visit_mut.rs b/vendor/syn/src/gen/visit_mut.rs index 239709d19..83bd1ccf8 100644 --- a/vendor/syn/src/gen/visit_mut.rs +++ b/vendor/syn/src/gen/visit_mut.rs @@ -3,8 +3,6 @@ #![allow(unused_variables)] #[cfg(any(feature = "full", feature = "derive"))] -use crate::gen::helper::visit_mut::*; -#[cfg(any(feature = "full", feature = "derive"))] use crate::punctuated::Punctuated; use crate::*; use proc_macro2::Span; @@ -29,8 +27,6 @@ macro_rules! skip { /// See the [module documentation] for details. /// /// [module documentation]: self -/// -/// *This trait is available only if Syn is built with the `"visit-mut"` feature.* pub trait VisitMut { #[cfg(any(feature = "derive", feature = "full"))] fn visit_abi_mut(&mut self, i: &mut Abi) { @@ -48,6 +44,14 @@ pub trait VisitMut { visit_arm_mut(self, i); } #[cfg(any(feature = "derive", feature = "full"))] + fn visit_assoc_const_mut(&mut self, i: &mut AssocConst) { + visit_assoc_const_mut(self, i); + } + #[cfg(any(feature = "derive", feature = "full"))] + fn visit_assoc_type_mut(&mut self, i: &mut AssocType) { + visit_assoc_type_mut(self, i); + } + #[cfg(any(feature = "derive", feature = "full"))] fn visit_attr_style_mut(&mut self, i: &mut AttrStyle) { visit_attr_style_mut(self, i); } @@ -60,12 +64,12 @@ pub trait VisitMut { visit_bare_fn_arg_mut(self, i); } #[cfg(any(feature = "derive", feature = "full"))] - fn visit_bin_op_mut(&mut self, i: &mut BinOp) { - visit_bin_op_mut(self, i); + fn visit_bare_variadic_mut(&mut self, i: &mut BareVariadic) { + visit_bare_variadic_mut(self, i); } #[cfg(any(feature = "derive", feature = "full"))] - fn visit_binding_mut(&mut self, i: &mut Binding) { - visit_binding_mut(self, i); + fn visit_bin_op_mut(&mut self, i: &mut BinOp) { + visit_bin_op_mut(self, i); } #[cfg(feature = "full")] fn visit_block_mut(&mut self, i: &mut Block) { @@ -116,10 +120,6 @@ pub trait VisitMut { visit_expr_assign_mut(self, i); } #[cfg(feature = "full")] - fn visit_expr_assign_op_mut(&mut self, i: &mut ExprAssignOp) { - visit_expr_assign_op_mut(self, i); - } - #[cfg(feature = "full")] fn visit_expr_async_mut(&mut self, i: &mut ExprAsync) { visit_expr_async_mut(self, i); } @@ -136,10 +136,6 @@ pub trait VisitMut { visit_expr_block_mut(self, i); } #[cfg(feature = "full")] - fn visit_expr_box_mut(&mut self, i: &mut ExprBox) { - visit_expr_box_mut(self, i); - } - #[cfg(feature = "full")] fn visit_expr_break_mut(&mut self, i: &mut ExprBreak) { visit_expr_break_mut(self, i); } @@ -156,6 +152,10 @@ pub trait VisitMut { visit_expr_closure_mut(self, i); } #[cfg(feature = "full")] + fn visit_expr_const_mut(&mut self, i: &mut ExprConst) { + visit_expr_const_mut(self, i); + } + #[cfg(feature = "full")] fn visit_expr_continue_mut(&mut self, i: &mut ExprContinue) { visit_expr_continue_mut(self, i); } @@ -167,7 +167,7 @@ pub trait VisitMut { fn visit_expr_for_loop_mut(&mut self, i: &mut ExprForLoop) { visit_expr_for_loop_mut(self, i); } - #[cfg(feature = "full")] + #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_group_mut(&mut self, i: &mut ExprGroup) { visit_expr_group_mut(self, i); } @@ -180,6 +180,10 @@ pub trait VisitMut { visit_expr_index_mut(self, i); } #[cfg(feature = "full")] + fn visit_expr_infer_mut(&mut self, i: &mut ExprInfer) { + visit_expr_infer_mut(self, i); + } + #[cfg(feature = "full")] fn visit_expr_let_mut(&mut self, i: &mut ExprLet) { visit_expr_let_mut(self, i); } @@ -191,7 +195,7 @@ pub trait VisitMut { fn visit_expr_loop_mut(&mut self, i: &mut ExprLoop) { visit_expr_loop_mut(self, i); } - #[cfg(feature = "full")] + #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_macro_mut(&mut self, i: &mut ExprMacro) { visit_expr_macro_mut(self, i); } @@ -243,10 +247,6 @@ pub trait VisitMut { fn visit_expr_tuple_mut(&mut self, i: &mut ExprTuple) { visit_expr_tuple_mut(self, i); } - #[cfg(feature = "full")] - fn visit_expr_type_mut(&mut self, i: &mut ExprType) { - visit_expr_type_mut(self, i); - } #[cfg(any(feature = "derive", feature = "full"))] fn visit_expr_unary_mut(&mut self, i: &mut ExprUnary) { visit_expr_unary_mut(self, i); @@ -267,6 +267,10 @@ pub trait VisitMut { fn visit_field_mut(&mut self, i: &mut Field) { visit_field_mut(self, i); } + #[cfg(any(feature = "derive", feature = "full"))] + fn visit_field_mutability_mut(&mut self, i: &mut FieldMutability) { + visit_field_mutability_mut(self, i); + } #[cfg(feature = "full")] fn visit_field_pat_mut(&mut self, i: &mut FieldPat) { visit_field_pat_mut(self, i); @@ -319,10 +323,6 @@ pub trait VisitMut { fn visit_generic_argument_mut(&mut self, i: &mut GenericArgument) { visit_generic_argument_mut(self, i); } - #[cfg(feature = "full")] - fn visit_generic_method_argument_mut(&mut self, i: &mut GenericMethodArgument) { - visit_generic_method_argument_mut(self, i); - } #[cfg(any(feature = "derive", feature = "full"))] fn visit_generic_param_mut(&mut self, i: &mut GenericParam) { visit_generic_param_mut(self, i); @@ -343,17 +343,21 @@ pub trait VisitMut { visit_impl_item_const_mut(self, i); } #[cfg(feature = "full")] - fn visit_impl_item_macro_mut(&mut self, i: &mut ImplItemMacro) { - visit_impl_item_macro_mut(self, i); + fn visit_impl_item_fn_mut(&mut self, i: &mut ImplItemFn) { + visit_impl_item_fn_mut(self, i); } #[cfg(feature = "full")] - fn visit_impl_item_method_mut(&mut self, i: &mut ImplItemMethod) { - visit_impl_item_method_mut(self, i); + fn visit_impl_item_macro_mut(&mut self, i: &mut ImplItemMacro) { + visit_impl_item_macro_mut(self, i); } #[cfg(feature = "full")] fn visit_impl_item_type_mut(&mut self, i: &mut ImplItemType) { visit_impl_item_type_mut(self, i); } + #[cfg(feature = "full")] + fn visit_impl_restriction_mut(&mut self, i: &mut ImplRestriction) { + visit_impl_restriction_mut(self, i); + } #[cfg(any(feature = "derive", feature = "full"))] fn visit_index_mut(&mut self, i: &mut Index) { visit_index_mut(self, i); @@ -391,10 +395,6 @@ pub trait VisitMut { visit_item_macro_mut(self, i); } #[cfg(feature = "full")] - fn visit_item_macro2_mut(&mut self, i: &mut ItemMacro2) { - visit_item_macro2_mut(self, i); - } - #[cfg(feature = "full")] fn visit_item_mod_mut(&mut self, i: &mut ItemMod) { visit_item_mod_mut(self, i); } @@ -434,8 +434,8 @@ pub trait VisitMut { visit_lifetime_mut(self, i); } #[cfg(any(feature = "derive", feature = "full"))] - fn visit_lifetime_def_mut(&mut self, i: &mut LifetimeDef) { - visit_lifetime_def_mut(self, i); + fn visit_lifetime_param_mut(&mut self, i: &mut LifetimeParam) { + visit_lifetime_param_mut(self, i); } fn visit_lit_mut(&mut self, i: &mut Lit) { visit_lit_mut(self, i); @@ -465,6 +465,10 @@ pub trait VisitMut { fn visit_local_mut(&mut self, i: &mut Local) { visit_local_mut(self, i); } + #[cfg(feature = "full")] + fn visit_local_init_mut(&mut self, i: &mut LocalInit) { + visit_local_init_mut(self, i); + } #[cfg(any(feature = "derive", feature = "full"))] fn visit_macro_mut(&mut self, i: &mut Macro) { visit_macro_mut(self, i); @@ -489,14 +493,6 @@ pub trait VisitMut { fn visit_meta_name_value_mut(&mut self, i: &mut MetaNameValue) { visit_meta_name_value_mut(self, i); } - #[cfg(feature = "full")] - fn visit_method_turbofish_mut(&mut self, i: &mut MethodTurbofish) { - visit_method_turbofish_mut(self, i); - } - #[cfg(any(feature = "derive", feature = "full"))] - fn visit_nested_meta_mut(&mut self, i: &mut NestedMeta) { - visit_nested_meta_mut(self, i); - } #[cfg(any(feature = "derive", feature = "full"))] fn visit_parenthesized_generic_arguments_mut( &mut self, @@ -509,32 +505,16 @@ pub trait VisitMut { visit_pat_mut(self, i); } #[cfg(feature = "full")] - fn visit_pat_box_mut(&mut self, i: &mut PatBox) { - visit_pat_box_mut(self, i); - } - #[cfg(feature = "full")] fn visit_pat_ident_mut(&mut self, i: &mut PatIdent) { visit_pat_ident_mut(self, i); } #[cfg(feature = "full")] - fn visit_pat_lit_mut(&mut self, i: &mut PatLit) { - visit_pat_lit_mut(self, i); - } - #[cfg(feature = "full")] - fn visit_pat_macro_mut(&mut self, i: &mut PatMacro) { - visit_pat_macro_mut(self, i); - } - #[cfg(feature = "full")] fn visit_pat_or_mut(&mut self, i: &mut PatOr) { visit_pat_or_mut(self, i); } #[cfg(feature = "full")] - fn visit_pat_path_mut(&mut self, i: &mut PatPath) { - visit_pat_path_mut(self, i); - } - #[cfg(feature = "full")] - fn visit_pat_range_mut(&mut self, i: &mut PatRange) { - visit_pat_range_mut(self, i); + fn visit_pat_paren_mut(&mut self, i: &mut PatParen) { + visit_pat_paren_mut(self, i); } #[cfg(feature = "full")] fn visit_pat_reference_mut(&mut self, i: &mut PatReference) { @@ -581,10 +561,6 @@ pub trait VisitMut { visit_path_segment_mut(self, i); } #[cfg(any(feature = "derive", feature = "full"))] - fn visit_predicate_eq_mut(&mut self, i: &mut PredicateEq) { - visit_predicate_eq_mut(self, i); - } - #[cfg(any(feature = "derive", feature = "full"))] fn visit_predicate_lifetime_mut(&mut self, i: &mut PredicateLifetime) { visit_predicate_lifetime_mut(self, i); } @@ -616,9 +592,17 @@ pub trait VisitMut { visit_span_mut(self, i); } #[cfg(feature = "full")] + fn visit_static_mutability_mut(&mut self, i: &mut StaticMutability) { + visit_static_mutability_mut(self, i); + } + #[cfg(feature = "full")] fn visit_stmt_mut(&mut self, i: &mut Stmt) { visit_stmt_mut(self, i); } + #[cfg(feature = "full")] + fn visit_stmt_macro_mut(&mut self, i: &mut StmtMacro) { + visit_stmt_macro_mut(self, i); + } #[cfg(any(feature = "derive", feature = "full"))] fn visit_trait_bound_mut(&mut self, i: &mut TraitBound) { visit_trait_bound_mut(self, i); @@ -636,12 +620,12 @@ pub trait VisitMut { visit_trait_item_const_mut(self, i); } #[cfg(feature = "full")] - fn visit_trait_item_macro_mut(&mut self, i: &mut TraitItemMacro) { - visit_trait_item_macro_mut(self, i); + fn visit_trait_item_fn_mut(&mut self, i: &mut TraitItemFn) { + visit_trait_item_fn_mut(self, i); } #[cfg(feature = "full")] - fn visit_trait_item_method_mut(&mut self, i: &mut TraitItemMethod) { - visit_trait_item_method_mut(self, i); + fn visit_trait_item_macro_mut(&mut self, i: &mut TraitItemMacro) { + visit_trait_item_macro_mut(self, i); } #[cfg(feature = "full")] fn visit_trait_item_type_mut(&mut self, i: &mut TraitItemType) { @@ -743,7 +727,7 @@ pub trait VisitMut { fn visit_use_tree_mut(&mut self, i: &mut UseTree) { visit_use_tree_mut(self, i); } - #[cfg(any(feature = "derive", feature = "full"))] + #[cfg(feature = "full")] fn visit_variadic_mut(&mut self, i: &mut Variadic) { visit_variadic_mut(self, i); } @@ -752,14 +736,6 @@ pub trait VisitMut { visit_variant_mut(self, i); } #[cfg(any(feature = "derive", feature = "full"))] - fn visit_vis_crate_mut(&mut self, i: &mut VisCrate) { - visit_vis_crate_mut(self, i); - } - #[cfg(any(feature = "derive", feature = "full"))] - fn visit_vis_public_mut(&mut self, i: &mut VisPublic) { - visit_vis_public_mut(self, i); - } - #[cfg(any(feature = "derive", feature = "full"))] fn visit_vis_restricted_mut(&mut self, i: &mut VisRestricted) { visit_vis_restricted_mut(self, i); } @@ -781,7 +757,7 @@ pub fn visit_abi_mut(v: &mut V, node: &mut Abi) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.extern_token.span); + skip!(node.extern_token); if let Some(it) = &mut node.name { v.visit_lit_str_mut(it); } @@ -794,18 +770,13 @@ pub fn visit_angle_bracketed_generic_arguments_mut( where V: VisitMut + ?Sized, { - if let Some(it) = &mut node.colon2_token { - tokens_helper(v, &mut it.spans); - } - tokens_helper(v, &mut node.lt_token.spans); - for el in Punctuated::pairs_mut(&mut node.args) { - let (it, p) = el.into_tuple(); + skip!(node.colon2_token); + skip!(node.lt_token); + for mut el in Punctuated::pairs_mut(&mut node.args) { + let it = el.value_mut(); v.visit_generic_argument_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } - tokens_helper(v, &mut node.gt_token.spans); + skip!(node.gt_token); } #[cfg(feature = "full")] pub fn visit_arm_mut(v: &mut V, node: &mut Arm) @@ -817,14 +788,36 @@ where } v.visit_pat_mut(&mut node.pat); if let Some(it) = &mut node.guard { - tokens_helper(v, &mut (it).0.span); + skip!((it).0); v.visit_expr_mut(&mut *(it).1); } - tokens_helper(v, &mut node.fat_arrow_token.spans); + skip!(node.fat_arrow_token); v.visit_expr_mut(&mut *node.body); - if let Some(it) = &mut node.comma { - tokens_helper(v, &mut it.spans); + skip!(node.comma); +} +#[cfg(any(feature = "derive", feature = "full"))] +pub fn visit_assoc_const_mut(v: &mut V, node: &mut AssocConst) +where + V: VisitMut + ?Sized, +{ + v.visit_ident_mut(&mut node.ident); + if let Some(it) = &mut node.generics { + v.visit_angle_bracketed_generic_arguments_mut(it); + } + skip!(node.eq_token); + v.visit_expr_mut(&mut node.value); +} +#[cfg(any(feature = "derive", feature = "full"))] +pub fn visit_assoc_type_mut(v: &mut V, node: &mut AssocType) +where + V: VisitMut + ?Sized, +{ + v.visit_ident_mut(&mut node.ident); + if let Some(it) = &mut node.generics { + v.visit_angle_bracketed_generic_arguments_mut(it); } + skip!(node.eq_token); + v.visit_type_mut(&mut node.ty); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_attr_style_mut(v: &mut V, node: &mut AttrStyle) @@ -834,7 +827,7 @@ where match node { AttrStyle::Outer => {} AttrStyle::Inner(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } } } @@ -843,11 +836,10 @@ pub fn visit_attribute_mut(v: &mut V, node: &mut Attribute) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.pound_token.spans); + skip!(node.pound_token); v.visit_attr_style_mut(&mut node.style); - tokens_helper(v, &mut node.bracket_token.span); - v.visit_path_mut(&mut node.path); - skip!(node.tokens); + skip!(node.bracket_token); + v.visit_meta_mut(&mut node.meta); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_bare_fn_arg_mut(v: &mut V, node: &mut BareFnArg) @@ -859,117 +851,123 @@ where } if let Some(it) = &mut node.name { v.visit_ident_mut(&mut (it).0); - tokens_helper(v, &mut (it).1.spans); + skip!((it).1); } v.visit_type_mut(&mut node.ty); } #[cfg(any(feature = "derive", feature = "full"))] +pub fn visit_bare_variadic_mut(v: &mut V, node: &mut BareVariadic) +where + V: VisitMut + ?Sized, +{ + for it in &mut node.attrs { + v.visit_attribute_mut(it); + } + if let Some(it) = &mut node.name { + v.visit_ident_mut(&mut (it).0); + skip!((it).1); + } + skip!(node.dots); + skip!(node.comma); +} +#[cfg(any(feature = "derive", feature = "full"))] pub fn visit_bin_op_mut(v: &mut V, node: &mut BinOp) where V: VisitMut + ?Sized, { match node { BinOp::Add(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Sub(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Mul(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Div(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Rem(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::And(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Or(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::BitXor(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::BitAnd(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::BitOr(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Shl(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Shr(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Eq(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Lt(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Le(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Ne(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Ge(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } BinOp::Gt(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } - BinOp::AddEq(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + BinOp::AddAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::SubEq(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + BinOp::SubAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::MulEq(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + BinOp::MulAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::DivEq(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + BinOp::DivAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::RemEq(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + BinOp::RemAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::BitXorEq(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + BinOp::BitXorAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::BitAndEq(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + BinOp::BitAndAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::BitOrEq(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + BinOp::BitOrAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::ShlEq(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + BinOp::ShlAssign(_binding_0) => { + skip!(_binding_0); } - BinOp::ShrEq(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + BinOp::ShrAssign(_binding_0) => { + skip!(_binding_0); } } } -#[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_binding_mut(v: &mut V, node: &mut Binding) -where - V: VisitMut + ?Sized, -{ - v.visit_ident_mut(&mut node.ident); - tokens_helper(v, &mut node.eq_token.spans); - v.visit_type_mut(&mut node.ty); -} #[cfg(feature = "full")] pub fn visit_block_mut(v: &mut V, node: &mut Block) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.brace_token.span); + skip!(node.brace_token); for it in &mut node.stmts { v.visit_stmt_mut(it); } @@ -979,16 +977,13 @@ pub fn visit_bound_lifetimes_mut(v: &mut V, node: &mut BoundLifetimes) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.for_token.span); - tokens_helper(v, &mut node.lt_token.spans); - for el in Punctuated::pairs_mut(&mut node.lifetimes) { - let (it, p) = el.into_tuple(); - v.visit_lifetime_def_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } + skip!(node.for_token); + skip!(node.lt_token); + for mut el in Punctuated::pairs_mut(&mut node.lifetimes) { + let it = el.value_mut(); + v.visit_generic_param_mut(it); } - tokens_helper(v, &mut node.gt_token.spans); + skip!(node.gt_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_const_param_mut(v: &mut V, node: &mut ConstParam) @@ -998,13 +993,11 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.const_token.span); + skip!(node.const_token); v.visit_ident_mut(&mut node.ident); - tokens_helper(v, &mut node.colon_token.spans); + skip!(node.colon_token); v.visit_type_mut(&mut node.ty); - if let Some(it) = &mut node.eq_token { - tokens_helper(v, &mut it.spans); - } + skip!(node.eq_token); if let Some(it) = &mut node.default { v.visit_expr_mut(it); } @@ -1015,13 +1008,13 @@ where V: VisitMut + ?Sized, { v.visit_ident_mut(&mut node.ident); - tokens_helper(v, &mut node.colon_token.spans); - for el in Punctuated::pairs_mut(&mut node.bounds) { - let (it, p) = el.into_tuple(); + if let Some(it) = &mut node.generics { + v.visit_angle_bracketed_generic_arguments_mut(it); + } + skip!(node.colon_token); + for mut el in Punctuated::pairs_mut(&mut node.bounds) { + let it = el.value_mut(); v.visit_type_param_bound_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(feature = "derive")] @@ -1046,14 +1039,11 @@ pub fn visit_data_enum_mut(v: &mut V, node: &mut DataEnum) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.enum_token.span); - tokens_helper(v, &mut node.brace_token.span); - for el in Punctuated::pairs_mut(&mut node.variants) { - let (it, p) = el.into_tuple(); + skip!(node.enum_token); + skip!(node.brace_token); + for mut el in Punctuated::pairs_mut(&mut node.variants) { + let it = el.value_mut(); v.visit_variant_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(feature = "derive")] @@ -1061,18 +1051,16 @@ pub fn visit_data_struct_mut(v: &mut V, node: &mut DataStruct) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.struct_token.span); + skip!(node.struct_token); v.visit_fields_mut(&mut node.fields); - if let Some(it) = &mut node.semi_token { - tokens_helper(v, &mut it.spans); - } + skip!(node.semi_token); } #[cfg(feature = "derive")] pub fn visit_data_union_mut(v: &mut V, node: &mut DataUnion) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.union_token.span); + skip!(node.union_token); v.visit_fields_named_mut(&mut node.fields); } #[cfg(feature = "derive")] @@ -1100,9 +1088,6 @@ where Expr::Assign(_binding_0) => { full!(v.visit_expr_assign_mut(_binding_0)); } - Expr::AssignOp(_binding_0) => { - full!(v.visit_expr_assign_op_mut(_binding_0)); - } Expr::Async(_binding_0) => { full!(v.visit_expr_async_mut(_binding_0)); } @@ -1115,9 +1100,6 @@ where Expr::Block(_binding_0) => { full!(v.visit_expr_block_mut(_binding_0)); } - Expr::Box(_binding_0) => { - full!(v.visit_expr_box_mut(_binding_0)); - } Expr::Break(_binding_0) => { full!(v.visit_expr_break_mut(_binding_0)); } @@ -1130,6 +1112,9 @@ where Expr::Closure(_binding_0) => { full!(v.visit_expr_closure_mut(_binding_0)); } + Expr::Const(_binding_0) => { + full!(v.visit_expr_const_mut(_binding_0)); + } Expr::Continue(_binding_0) => { full!(v.visit_expr_continue_mut(_binding_0)); } @@ -1140,7 +1125,7 @@ where full!(v.visit_expr_for_loop_mut(_binding_0)); } Expr::Group(_binding_0) => { - full!(v.visit_expr_group_mut(_binding_0)); + v.visit_expr_group_mut(_binding_0); } Expr::If(_binding_0) => { full!(v.visit_expr_if_mut(_binding_0)); @@ -1148,6 +1133,9 @@ where Expr::Index(_binding_0) => { v.visit_expr_index_mut(_binding_0); } + Expr::Infer(_binding_0) => { + full!(v.visit_expr_infer_mut(_binding_0)); + } Expr::Let(_binding_0) => { full!(v.visit_expr_let_mut(_binding_0)); } @@ -1158,7 +1146,7 @@ where full!(v.visit_expr_loop_mut(_binding_0)); } Expr::Macro(_binding_0) => { - full!(v.visit_expr_macro_mut(_binding_0)); + v.visit_expr_macro_mut(_binding_0); } Expr::Match(_binding_0) => { full!(v.visit_expr_match_mut(_binding_0)); @@ -1196,9 +1184,6 @@ where Expr::Tuple(_binding_0) => { full!(v.visit_expr_tuple_mut(_binding_0)); } - Expr::Type(_binding_0) => { - full!(v.visit_expr_type_mut(_binding_0)); - } Expr::Unary(_binding_0) => { v.visit_expr_unary_mut(_binding_0); } @@ -1214,8 +1199,6 @@ where Expr::Yield(_binding_0) => { full!(v.visit_expr_yield_mut(_binding_0)); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -1226,13 +1209,10 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.bracket_token.span); - for el in Punctuated::pairs_mut(&mut node.elems) { - let (it, p) = el.into_tuple(); + skip!(node.bracket_token); + for mut el in Punctuated::pairs_mut(&mut node.elems) { + let it = el.value_mut(); v.visit_expr_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(feature = "full")] @@ -1244,19 +1224,7 @@ where v.visit_attribute_mut(it); } v.visit_expr_mut(&mut *node.left); - tokens_helper(v, &mut node.eq_token.spans); - v.visit_expr_mut(&mut *node.right); -} -#[cfg(feature = "full")] -pub fn visit_expr_assign_op_mut(v: &mut V, node: &mut ExprAssignOp) -where - V: VisitMut + ?Sized, -{ - for it in &mut node.attrs { - v.visit_attribute_mut(it); - } - v.visit_expr_mut(&mut *node.left); - v.visit_bin_op_mut(&mut node.op); + skip!(node.eq_token); v.visit_expr_mut(&mut *node.right); } #[cfg(feature = "full")] @@ -1267,10 +1235,8 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.async_token.span); - if let Some(it) = &mut node.capture { - tokens_helper(v, &mut it.span); - } + skip!(node.async_token); + skip!(node.capture); v.visit_block_mut(&mut node.block); } #[cfg(feature = "full")] @@ -1282,8 +1248,8 @@ where v.visit_attribute_mut(it); } v.visit_expr_mut(&mut *node.base); - tokens_helper(v, &mut node.dot_token.spans); - tokens_helper(v, &mut node.await_token.span); + skip!(node.dot_token); + skip!(node.await_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_binary_mut(v: &mut V, node: &mut ExprBinary) @@ -1311,17 +1277,6 @@ where v.visit_block_mut(&mut node.block); } #[cfg(feature = "full")] -pub fn visit_expr_box_mut(v: &mut V, node: &mut ExprBox) -where - V: VisitMut + ?Sized, -{ - for it in &mut node.attrs { - v.visit_attribute_mut(it); - } - tokens_helper(v, &mut node.box_token.span); - v.visit_expr_mut(&mut *node.expr); -} -#[cfg(feature = "full")] pub fn visit_expr_break_mut(v: &mut V, node: &mut ExprBreak) where V: VisitMut + ?Sized, @@ -1329,7 +1284,7 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.break_token.span); + skip!(node.break_token); if let Some(it) = &mut node.label { v.visit_lifetime_mut(it); } @@ -1346,13 +1301,10 @@ where v.visit_attribute_mut(it); } v.visit_expr_mut(&mut *node.func); - tokens_helper(v, &mut node.paren_token.span); - for el in Punctuated::pairs_mut(&mut node.args) { - let (it, p) = el.into_tuple(); + skip!(node.paren_token); + for mut el in Punctuated::pairs_mut(&mut node.args) { + let it = el.value_mut(); v.visit_expr_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1364,7 +1316,7 @@ where v.visit_attribute_mut(it); } v.visit_expr_mut(&mut *node.expr); - tokens_helper(v, &mut node.as_token.span); + skip!(node.as_token); v.visit_type_mut(&mut *node.ty); } #[cfg(feature = "full")] @@ -1375,28 +1327,34 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - if let Some(it) = &mut node.movability { - tokens_helper(v, &mut it.span); - } - if let Some(it) = &mut node.asyncness { - tokens_helper(v, &mut it.span); - } - if let Some(it) = &mut node.capture { - tokens_helper(v, &mut it.span); + if let Some(it) = &mut node.lifetimes { + v.visit_bound_lifetimes_mut(it); } - tokens_helper(v, &mut node.or1_token.spans); - for el in Punctuated::pairs_mut(&mut node.inputs) { - let (it, p) = el.into_tuple(); + skip!(node.constness); + skip!(node.movability); + skip!(node.asyncness); + skip!(node.capture); + skip!(node.or1_token); + for mut el in Punctuated::pairs_mut(&mut node.inputs) { + let it = el.value_mut(); v.visit_pat_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } - tokens_helper(v, &mut node.or2_token.spans); + skip!(node.or2_token); v.visit_return_type_mut(&mut node.output); v.visit_expr_mut(&mut *node.body); } #[cfg(feature = "full")] +pub fn visit_expr_const_mut(v: &mut V, node: &mut ExprConst) +where + V: VisitMut + ?Sized, +{ + for it in &mut node.attrs { + v.visit_attribute_mut(it); + } + skip!(node.const_token); + v.visit_block_mut(&mut node.block); +} +#[cfg(feature = "full")] pub fn visit_expr_continue_mut(v: &mut V, node: &mut ExprContinue) where V: VisitMut + ?Sized, @@ -1404,7 +1362,7 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.continue_token.span); + skip!(node.continue_token); if let Some(it) = &mut node.label { v.visit_lifetime_mut(it); } @@ -1418,7 +1376,7 @@ where v.visit_attribute_mut(it); } v.visit_expr_mut(&mut *node.base); - tokens_helper(v, &mut node.dot_token.spans); + skip!(node.dot_token); v.visit_member_mut(&mut node.member); } #[cfg(feature = "full")] @@ -1432,13 +1390,13 @@ where if let Some(it) = &mut node.label { v.visit_label_mut(it); } - tokens_helper(v, &mut node.for_token.span); - v.visit_pat_mut(&mut node.pat); - tokens_helper(v, &mut node.in_token.span); + skip!(node.for_token); + v.visit_pat_mut(&mut *node.pat); + skip!(node.in_token); v.visit_expr_mut(&mut *node.expr); v.visit_block_mut(&mut node.body); } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_group_mut(v: &mut V, node: &mut ExprGroup) where V: VisitMut + ?Sized, @@ -1446,7 +1404,7 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.group_token.span); + skip!(node.group_token); v.visit_expr_mut(&mut *node.expr); } #[cfg(feature = "full")] @@ -1457,11 +1415,11 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.if_token.span); + skip!(node.if_token); v.visit_expr_mut(&mut *node.cond); v.visit_block_mut(&mut node.then_branch); if let Some(it) = &mut node.else_branch { - tokens_helper(v, &mut (it).0.span); + skip!((it).0); v.visit_expr_mut(&mut *(it).1); } } @@ -1474,10 +1432,20 @@ where v.visit_attribute_mut(it); } v.visit_expr_mut(&mut *node.expr); - tokens_helper(v, &mut node.bracket_token.span); + skip!(node.bracket_token); v.visit_expr_mut(&mut *node.index); } #[cfg(feature = "full")] +pub fn visit_expr_infer_mut(v: &mut V, node: &mut ExprInfer) +where + V: VisitMut + ?Sized, +{ + for it in &mut node.attrs { + v.visit_attribute_mut(it); + } + skip!(node.underscore_token); +} +#[cfg(feature = "full")] pub fn visit_expr_let_mut(v: &mut V, node: &mut ExprLet) where V: VisitMut + ?Sized, @@ -1485,9 +1453,9 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.let_token.span); - v.visit_pat_mut(&mut node.pat); - tokens_helper(v, &mut node.eq_token.spans); + skip!(node.let_token); + v.visit_pat_mut(&mut *node.pat); + skip!(node.eq_token); v.visit_expr_mut(&mut *node.expr); } #[cfg(any(feature = "derive", feature = "full"))] @@ -1511,10 +1479,10 @@ where if let Some(it) = &mut node.label { v.visit_label_mut(it); } - tokens_helper(v, &mut node.loop_token.span); + skip!(node.loop_token); v.visit_block_mut(&mut node.body); } -#[cfg(feature = "full")] +#[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_macro_mut(v: &mut V, node: &mut ExprMacro) where V: VisitMut + ?Sized, @@ -1532,9 +1500,9 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.match_token.span); + skip!(node.match_token); v.visit_expr_mut(&mut *node.expr); - tokens_helper(v, &mut node.brace_token.span); + skip!(node.brace_token); for it in &mut node.arms { v.visit_arm_mut(it); } @@ -1548,18 +1516,15 @@ where v.visit_attribute_mut(it); } v.visit_expr_mut(&mut *node.receiver); - tokens_helper(v, &mut node.dot_token.spans); + skip!(node.dot_token); v.visit_ident_mut(&mut node.method); if let Some(it) = &mut node.turbofish { - v.visit_method_turbofish_mut(it); + v.visit_angle_bracketed_generic_arguments_mut(it); } - tokens_helper(v, &mut node.paren_token.span); - for el in Punctuated::pairs_mut(&mut node.args) { - let (it, p) = el.into_tuple(); + skip!(node.paren_token); + for mut el in Punctuated::pairs_mut(&mut node.args) { + let it = el.value_mut(); v.visit_expr_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1570,7 +1535,7 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.paren_token.span); + skip!(node.paren_token); v.visit_expr_mut(&mut *node.expr); } #[cfg(any(feature = "derive", feature = "full"))] @@ -1594,11 +1559,11 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - if let Some(it) = &mut node.from { + if let Some(it) = &mut node.start { v.visit_expr_mut(&mut **it); } v.visit_range_limits_mut(&mut node.limits); - if let Some(it) = &mut node.to { + if let Some(it) = &mut node.end { v.visit_expr_mut(&mut **it); } } @@ -1610,10 +1575,8 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.and_token.spans); - if let Some(it) = &mut node.mutability { - tokens_helper(v, &mut it.span); - } + skip!(node.and_token); + skip!(node.mutability); v.visit_expr_mut(&mut *node.expr); } #[cfg(feature = "full")] @@ -1624,9 +1587,9 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.bracket_token.span); + skip!(node.bracket_token); v.visit_expr_mut(&mut *node.expr); - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); v.visit_expr_mut(&mut *node.len); } #[cfg(feature = "full")] @@ -1637,7 +1600,7 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.return_token.span); + skip!(node.return_token); if let Some(it) = &mut node.expr { v.visit_expr_mut(&mut **it); } @@ -1650,18 +1613,16 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } + if let Some(it) = &mut node.qself { + v.visit_qself_mut(it); + } v.visit_path_mut(&mut node.path); - tokens_helper(v, &mut node.brace_token.span); - for el in Punctuated::pairs_mut(&mut node.fields) { - let (it, p) = el.into_tuple(); + skip!(node.brace_token); + for mut el in Punctuated::pairs_mut(&mut node.fields) { + let it = el.value_mut(); v.visit_field_value_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } - } - if let Some(it) = &mut node.dot2_token { - tokens_helper(v, &mut it.spans); } + skip!(node.dot2_token); if let Some(it) = &mut node.rest { v.visit_expr_mut(&mut **it); } @@ -1675,7 +1636,7 @@ where v.visit_attribute_mut(it); } v.visit_expr_mut(&mut *node.expr); - tokens_helper(v, &mut node.question_token.spans); + skip!(node.question_token); } #[cfg(feature = "full")] pub fn visit_expr_try_block_mut(v: &mut V, node: &mut ExprTryBlock) @@ -1685,7 +1646,7 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.try_token.span); + skip!(node.try_token); v.visit_block_mut(&mut node.block); } #[cfg(feature = "full")] @@ -1696,26 +1657,11 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.paren_token.span); - for el in Punctuated::pairs_mut(&mut node.elems) { - let (it, p) = el.into_tuple(); + skip!(node.paren_token); + for mut el in Punctuated::pairs_mut(&mut node.elems) { + let it = el.value_mut(); v.visit_expr_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } - } -} -#[cfg(feature = "full")] -pub fn visit_expr_type_mut(v: &mut V, node: &mut ExprType) -where - V: VisitMut + ?Sized, -{ - for it in &mut node.attrs { - v.visit_attribute_mut(it); } - v.visit_expr_mut(&mut *node.expr); - tokens_helper(v, &mut node.colon_token.spans); - v.visit_type_mut(&mut *node.ty); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_expr_unary_mut(v: &mut V, node: &mut ExprUnary) @@ -1736,7 +1682,7 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.unsafe_token.span); + skip!(node.unsafe_token); v.visit_block_mut(&mut node.block); } #[cfg(feature = "full")] @@ -1750,7 +1696,7 @@ where if let Some(it) = &mut node.label { v.visit_label_mut(it); } - tokens_helper(v, &mut node.while_token.span); + skip!(node.while_token); v.visit_expr_mut(&mut *node.cond); v.visit_block_mut(&mut node.body); } @@ -1762,7 +1708,7 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.yield_token.span); + skip!(node.yield_token); if let Some(it) = &mut node.expr { v.visit_expr_mut(&mut **it); } @@ -1776,14 +1722,22 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); + v.visit_field_mutability_mut(&mut node.mutability); if let Some(it) = &mut node.ident { v.visit_ident_mut(it); } - if let Some(it) = &mut node.colon_token { - tokens_helper(v, &mut it.spans); - } + skip!(node.colon_token); v.visit_type_mut(&mut node.ty); } +#[cfg(any(feature = "derive", feature = "full"))] +pub fn visit_field_mutability_mut(v: &mut V, node: &mut FieldMutability) +where + V: VisitMut + ?Sized, +{ + match node { + FieldMutability::None => {} + } +} #[cfg(feature = "full")] pub fn visit_field_pat_mut(v: &mut V, node: &mut FieldPat) where @@ -1793,9 +1747,7 @@ where v.visit_attribute_mut(it); } v.visit_member_mut(&mut node.member); - if let Some(it) = &mut node.colon_token { - tokens_helper(v, &mut it.spans); - } + skip!(node.colon_token); v.visit_pat_mut(&mut *node.pat); } #[cfg(feature = "full")] @@ -1807,9 +1759,7 @@ where v.visit_attribute_mut(it); } v.visit_member_mut(&mut node.member); - if let Some(it) = &mut node.colon_token { - tokens_helper(v, &mut it.spans); - } + skip!(node.colon_token); v.visit_expr_mut(&mut node.expr); } #[cfg(any(feature = "derive", feature = "full"))] @@ -1832,13 +1782,10 @@ pub fn visit_fields_named_mut(v: &mut V, node: &mut FieldsNamed) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.brace_token.span); - for el in Punctuated::pairs_mut(&mut node.named) { - let (it, p) = el.into_tuple(); + skip!(node.brace_token); + for mut el in Punctuated::pairs_mut(&mut node.named) { + let it = el.value_mut(); v.visit_field_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -1846,13 +1793,10 @@ pub fn visit_fields_unnamed_mut(v: &mut V, node: &mut FieldsUnnamed) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.paren_token.span); - for el in Punctuated::pairs_mut(&mut node.unnamed) { - let (it, p) = el.into_tuple(); + skip!(node.paren_token); + for mut el in Punctuated::pairs_mut(&mut node.unnamed) { + let it = el.value_mut(); v.visit_field_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(feature = "full")] @@ -1903,8 +1847,6 @@ where ForeignItem::Verbatim(_binding_0) => { skip!(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -1917,7 +1859,7 @@ where } v.visit_visibility_mut(&mut node.vis); v.visit_signature_mut(&mut node.sig); - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_foreign_item_macro_mut(v: &mut V, node: &mut ForeignItemMacro) @@ -1928,9 +1870,7 @@ where v.visit_attribute_mut(it); } v.visit_macro_mut(&mut node.mac); - if let Some(it) = &mut node.semi_token { - tokens_helper(v, &mut it.spans); - } + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_foreign_item_static_mut(v: &mut V, node: &mut ForeignItemStatic) @@ -1941,14 +1881,12 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.static_token.span); - if let Some(it) = &mut node.mutability { - tokens_helper(v, &mut it.span); - } + skip!(node.static_token); + v.visit_static_mutability_mut(&mut node.mutability); v.visit_ident_mut(&mut node.ident); - tokens_helper(v, &mut node.colon_token.spans); + skip!(node.colon_token); v.visit_type_mut(&mut *node.ty); - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_foreign_item_type_mut(v: &mut V, node: &mut ForeignItemType) @@ -1959,9 +1897,10 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.type_token.span); + skip!(node.type_token); v.visit_ident_mut(&mut node.ident); - tokens_helper(v, &mut node.semi_token.spans); + v.visit_generics_mut(&mut node.generics); + skip!(node.semi_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_generic_argument_mut(v: &mut V, node: &mut GenericArgument) @@ -1978,40 +1917,29 @@ where GenericArgument::Const(_binding_0) => { v.visit_expr_mut(_binding_0); } - GenericArgument::Binding(_binding_0) => { - v.visit_binding_mut(_binding_0); + GenericArgument::AssocType(_binding_0) => { + v.visit_assoc_type_mut(_binding_0); + } + GenericArgument::AssocConst(_binding_0) => { + v.visit_assoc_const_mut(_binding_0); } GenericArgument::Constraint(_binding_0) => { v.visit_constraint_mut(_binding_0); } } } -#[cfg(feature = "full")] -pub fn visit_generic_method_argument_mut(v: &mut V, node: &mut GenericMethodArgument) -where - V: VisitMut + ?Sized, -{ - match node { - GenericMethodArgument::Type(_binding_0) => { - v.visit_type_mut(_binding_0); - } - GenericMethodArgument::Const(_binding_0) => { - v.visit_expr_mut(_binding_0); - } - } -} #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_generic_param_mut(v: &mut V, node: &mut GenericParam) where V: VisitMut + ?Sized, { match node { + GenericParam::Lifetime(_binding_0) => { + v.visit_lifetime_param_mut(_binding_0); + } GenericParam::Type(_binding_0) => { v.visit_type_param_mut(_binding_0); } - GenericParam::Lifetime(_binding_0) => { - v.visit_lifetime_def_mut(_binding_0); - } GenericParam::Const(_binding_0) => { v.visit_const_param_mut(_binding_0); } @@ -2022,19 +1950,12 @@ pub fn visit_generics_mut(v: &mut V, node: &mut Generics) where V: VisitMut + ?Sized, { - if let Some(it) = &mut node.lt_token { - tokens_helper(v, &mut it.spans); - } - for el in Punctuated::pairs_mut(&mut node.params) { - let (it, p) = el.into_tuple(); + skip!(node.lt_token); + for mut el in Punctuated::pairs_mut(&mut node.params) { + let it = el.value_mut(); v.visit_generic_param_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } - } - if let Some(it) = &mut node.gt_token { - tokens_helper(v, &mut it.spans); } + skip!(node.gt_token); if let Some(it) = &mut node.where_clause { v.visit_where_clause_mut(it); } @@ -2056,8 +1977,8 @@ where ImplItem::Const(_binding_0) => { v.visit_impl_item_const_mut(_binding_0); } - ImplItem::Method(_binding_0) => { - v.visit_impl_item_method_mut(_binding_0); + ImplItem::Fn(_binding_0) => { + v.visit_impl_item_fn_mut(_binding_0); } ImplItem::Type(_binding_0) => { v.visit_impl_item_type_mut(_binding_0); @@ -2068,8 +1989,6 @@ where ImplItem::Verbatim(_binding_0) => { skip!(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -2081,44 +2000,39 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - if let Some(it) = &mut node.defaultness { - tokens_helper(v, &mut it.span); - } - tokens_helper(v, &mut node.const_token.span); + skip!(node.defaultness); + skip!(node.const_token); v.visit_ident_mut(&mut node.ident); - tokens_helper(v, &mut node.colon_token.spans); + v.visit_generics_mut(&mut node.generics); + skip!(node.colon_token); v.visit_type_mut(&mut node.ty); - tokens_helper(v, &mut node.eq_token.spans); + skip!(node.eq_token); v.visit_expr_mut(&mut node.expr); - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] -pub fn visit_impl_item_macro_mut(v: &mut V, node: &mut ImplItemMacro) +pub fn visit_impl_item_fn_mut(v: &mut V, node: &mut ImplItemFn) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it); } - v.visit_macro_mut(&mut node.mac); - if let Some(it) = &mut node.semi_token { - tokens_helper(v, &mut it.spans); - } + v.visit_visibility_mut(&mut node.vis); + skip!(node.defaultness); + v.visit_signature_mut(&mut node.sig); + v.visit_block_mut(&mut node.block); } #[cfg(feature = "full")] -pub fn visit_impl_item_method_mut(v: &mut V, node: &mut ImplItemMethod) +pub fn visit_impl_item_macro_mut(v: &mut V, node: &mut ImplItemMacro) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it); } - v.visit_visibility_mut(&mut node.vis); - if let Some(it) = &mut node.defaultness { - tokens_helper(v, &mut it.span); - } - v.visit_signature_mut(&mut node.sig); - v.visit_block_mut(&mut node.block); + v.visit_macro_mut(&mut node.mac); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_impl_item_type_mut(v: &mut V, node: &mut ImplItemType) @@ -2129,15 +2043,20 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - if let Some(it) = &mut node.defaultness { - tokens_helper(v, &mut it.span); - } - tokens_helper(v, &mut node.type_token.span); + skip!(node.defaultness); + skip!(node.type_token); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); - tokens_helper(v, &mut node.eq_token.spans); + skip!(node.eq_token); v.visit_type_mut(&mut node.ty); - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); +} +#[cfg(feature = "full")] +pub fn visit_impl_restriction_mut(v: &mut V, node: &mut ImplRestriction) +where + V: VisitMut + ?Sized, +{ + match *node {} } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_index_mut(v: &mut V, node: &mut Index) @@ -2174,9 +2093,6 @@ where Item::Macro(_binding_0) => { v.visit_item_macro_mut(_binding_0); } - Item::Macro2(_binding_0) => { - v.visit_item_macro2_mut(_binding_0); - } Item::Mod(_binding_0) => { v.visit_item_mod_mut(_binding_0); } @@ -2204,8 +2120,6 @@ where Item::Verbatim(_binding_0) => { skip!(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -2217,13 +2131,14 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.const_token.span); + skip!(node.const_token); v.visit_ident_mut(&mut node.ident); - tokens_helper(v, &mut node.colon_token.spans); + v.visit_generics_mut(&mut node.generics); + skip!(node.colon_token); v.visit_type_mut(&mut *node.ty); - tokens_helper(v, &mut node.eq_token.spans); + skip!(node.eq_token); v.visit_expr_mut(&mut *node.expr); - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_enum_mut(v: &mut V, node: &mut ItemEnum) @@ -2234,16 +2149,13 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.enum_token.span); + skip!(node.enum_token); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); - tokens_helper(v, &mut node.brace_token.span); - for el in Punctuated::pairs_mut(&mut node.variants) { - let (it, p) = el.into_tuple(); + skip!(node.brace_token); + for mut el in Punctuated::pairs_mut(&mut node.variants) { + let it = el.value_mut(); v.visit_variant_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(feature = "full")] @@ -2255,14 +2167,14 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.extern_token.span); - tokens_helper(v, &mut node.crate_token.span); + skip!(node.extern_token); + skip!(node.crate_token); v.visit_ident_mut(&mut node.ident); if let Some(it) = &mut node.rename { - tokens_helper(v, &mut (it).0.span); + skip!((it).0); v.visit_ident_mut(&mut (it).1); } - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_fn_mut(v: &mut V, node: &mut ItemFn) @@ -2284,8 +2196,9 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } + skip!(node.unsafety); v.visit_abi_mut(&mut node.abi); - tokens_helper(v, &mut node.brace_token.span); + skip!(node.brace_token); for it in &mut node.items { v.visit_foreign_item_mut(it); } @@ -2298,23 +2211,17 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - if let Some(it) = &mut node.defaultness { - tokens_helper(v, &mut it.span); - } - if let Some(it) = &mut node.unsafety { - tokens_helper(v, &mut it.span); - } - tokens_helper(v, &mut node.impl_token.span); + skip!(node.defaultness); + skip!(node.unsafety); + skip!(node.impl_token); v.visit_generics_mut(&mut node.generics); if let Some(it) = &mut node.trait_ { - if let Some(it) = &mut (it).0 { - tokens_helper(v, &mut it.spans); - } + skip!((it).0); v.visit_path_mut(&mut (it).1); - tokens_helper(v, &mut (it).2.span); + skip!((it).2); } v.visit_type_mut(&mut *node.self_ty); - tokens_helper(v, &mut node.brace_token.span); + skip!(node.brace_token); for it in &mut node.items { v.visit_impl_item_mut(it); } @@ -2331,22 +2238,7 @@ where v.visit_ident_mut(it); } v.visit_macro_mut(&mut node.mac); - if let Some(it) = &mut node.semi_token { - tokens_helper(v, &mut it.spans); - } -} -#[cfg(feature = "full")] -pub fn visit_item_macro2_mut(v: &mut V, node: &mut ItemMacro2) -where - V: VisitMut + ?Sized, -{ - for it in &mut node.attrs { - v.visit_attribute_mut(it); - } - v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.macro_token.span); - v.visit_ident_mut(&mut node.ident); - skip!(node.rules); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_mod_mut(v: &mut V, node: &mut ItemMod) @@ -2357,17 +2249,16 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.mod_token.span); + skip!(node.unsafety); + skip!(node.mod_token); v.visit_ident_mut(&mut node.ident); if let Some(it) = &mut node.content { - tokens_helper(v, &mut (it).0.span); + skip!((it).0); for it in &mut (it).1 { v.visit_item_mut(it); } } - if let Some(it) = &mut node.semi { - tokens_helper(v, &mut it.spans); - } + skip!(node.semi); } #[cfg(feature = "full")] pub fn visit_item_static_mut(v: &mut V, node: &mut ItemStatic) @@ -2378,16 +2269,14 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.static_token.span); - if let Some(it) = &mut node.mutability { - tokens_helper(v, &mut it.span); - } + skip!(node.static_token); + v.visit_static_mutability_mut(&mut node.mutability); v.visit_ident_mut(&mut node.ident); - tokens_helper(v, &mut node.colon_token.spans); + skip!(node.colon_token); v.visit_type_mut(&mut *node.ty); - tokens_helper(v, &mut node.eq_token.spans); + skip!(node.eq_token); v.visit_expr_mut(&mut *node.expr); - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_struct_mut(v: &mut V, node: &mut ItemStruct) @@ -2398,13 +2287,11 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.struct_token.span); + skip!(node.struct_token); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); v.visit_fields_mut(&mut node.fields); - if let Some(it) = &mut node.semi_token { - tokens_helper(v, &mut it.spans); - } + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_trait_mut(v: &mut V, node: &mut ItemTrait) @@ -2415,26 +2302,20 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - if let Some(it) = &mut node.unsafety { - tokens_helper(v, &mut it.span); + skip!(node.unsafety); + skip!(node.auto_token); + if let Some(it) = &mut node.restriction { + v.visit_impl_restriction_mut(it); } - if let Some(it) = &mut node.auto_token { - tokens_helper(v, &mut it.span); - } - tokens_helper(v, &mut node.trait_token.span); + skip!(node.trait_token); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); - if let Some(it) = &mut node.colon_token { - tokens_helper(v, &mut it.spans); - } - for el in Punctuated::pairs_mut(&mut node.supertraits) { - let (it, p) = el.into_tuple(); + skip!(node.colon_token); + for mut el in Punctuated::pairs_mut(&mut node.supertraits) { + let it = el.value_mut(); v.visit_type_param_bound_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } - tokens_helper(v, &mut node.brace_token.span); + skip!(node.brace_token); for it in &mut node.items { v.visit_trait_item_mut(it); } @@ -2448,18 +2329,15 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.trait_token.span); + skip!(node.trait_token); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); - tokens_helper(v, &mut node.eq_token.spans); - for el in Punctuated::pairs_mut(&mut node.bounds) { - let (it, p) = el.into_tuple(); + skip!(node.eq_token); + for mut el in Punctuated::pairs_mut(&mut node.bounds) { + let it = el.value_mut(); v.visit_type_param_bound_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_type_mut(v: &mut V, node: &mut ItemType) @@ -2470,12 +2348,12 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.type_token.span); + skip!(node.type_token); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); - tokens_helper(v, &mut node.eq_token.spans); + skip!(node.eq_token); v.visit_type_mut(&mut *node.ty); - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_item_union_mut(v: &mut V, node: &mut ItemUnion) @@ -2486,7 +2364,7 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.union_token.span); + skip!(node.union_token); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); v.visit_fields_named_mut(&mut node.fields); @@ -2500,12 +2378,10 @@ where v.visit_attribute_mut(it); } v.visit_visibility_mut(&mut node.vis); - tokens_helper(v, &mut node.use_token.span); - if let Some(it) = &mut node.leading_colon { - tokens_helper(v, &mut it.spans); - } + skip!(node.use_token); + skip!(node.leading_colon); v.visit_use_tree_mut(&mut node.tree); - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_label_mut(v: &mut V, node: &mut Label) @@ -2513,7 +2389,7 @@ where V: VisitMut + ?Sized, { v.visit_lifetime_mut(&mut node.name); - tokens_helper(v, &mut node.colon_token.spans); + skip!(node.colon_token); } pub fn visit_lifetime_mut(v: &mut V, node: &mut Lifetime) where @@ -2523,7 +2399,7 @@ where v.visit_ident_mut(&mut node.ident); } #[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_lifetime_def_mut(v: &mut V, node: &mut LifetimeDef) +pub fn visit_lifetime_param_mut(v: &mut V, node: &mut LifetimeParam) where V: VisitMut + ?Sized, { @@ -2531,15 +2407,10 @@ where v.visit_attribute_mut(it); } v.visit_lifetime_mut(&mut node.lifetime); - if let Some(it) = &mut node.colon_token { - tokens_helper(v, &mut it.spans); - } - for el in Punctuated::pairs_mut(&mut node.bounds) { - let (it, p) = el.into_tuple(); + skip!(node.colon_token); + for mut el in Punctuated::pairs_mut(&mut node.bounds) { + let it = el.value_mut(); v.visit_lifetime_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } pub fn visit_lit_mut(v: &mut V, node: &mut Lit) @@ -2612,13 +2483,24 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.let_token.span); + skip!(node.let_token); v.visit_pat_mut(&mut node.pat); if let Some(it) = &mut node.init { - tokens_helper(v, &mut (it).0.spans); + v.visit_local_init_mut(it); + } + skip!(node.semi_token); +} +#[cfg(feature = "full")] +pub fn visit_local_init_mut(v: &mut V, node: &mut LocalInit) +where + V: VisitMut + ?Sized, +{ + skip!(node.eq_token); + v.visit_expr_mut(&mut *node.expr); + if let Some(it) = &mut node.diverge { + skip!((it).0); v.visit_expr_mut(&mut *(it).1); } - tokens_helper(v, &mut node.semi_token.spans); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_macro_mut(v: &mut V, node: &mut Macro) @@ -2626,7 +2508,7 @@ where V: VisitMut + ?Sized, { v.visit_path_mut(&mut node.path); - tokens_helper(v, &mut node.bang_token.spans); + skip!(node.bang_token); v.visit_macro_delimiter_mut(&mut node.delimiter); skip!(node.tokens); } @@ -2637,13 +2519,13 @@ where { match node { MacroDelimiter::Paren(_binding_0) => { - tokens_helper(v, &mut _binding_0.span); + skip!(_binding_0); } MacroDelimiter::Brace(_binding_0) => { - tokens_helper(v, &mut _binding_0.span); + skip!(_binding_0); } MacroDelimiter::Bracket(_binding_0) => { - tokens_helper(v, &mut _binding_0.span); + skip!(_binding_0); } } } @@ -2684,14 +2566,8 @@ where V: VisitMut + ?Sized, { v.visit_path_mut(&mut node.path); - tokens_helper(v, &mut node.paren_token.span); - for el in Punctuated::pairs_mut(&mut node.nested) { - let (it, p) = el.into_tuple(); - v.visit_nested_meta_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } - } + v.visit_macro_delimiter_mut(&mut node.delimiter); + skip!(node.tokens); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_meta_name_value_mut(v: &mut V, node: &mut MetaNameValue) @@ -2699,38 +2575,8 @@ where V: VisitMut + ?Sized, { v.visit_path_mut(&mut node.path); - tokens_helper(v, &mut node.eq_token.spans); - v.visit_lit_mut(&mut node.lit); -} -#[cfg(feature = "full")] -pub fn visit_method_turbofish_mut(v: &mut V, node: &mut MethodTurbofish) -where - V: VisitMut + ?Sized, -{ - tokens_helper(v, &mut node.colon2_token.spans); - tokens_helper(v, &mut node.lt_token.spans); - for el in Punctuated::pairs_mut(&mut node.args) { - let (it, p) = el.into_tuple(); - v.visit_generic_method_argument_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } - } - tokens_helper(v, &mut node.gt_token.spans); -} -#[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_nested_meta_mut(v: &mut V, node: &mut NestedMeta) -where - V: VisitMut + ?Sized, -{ - match node { - NestedMeta::Meta(_binding_0) => { - v.visit_meta_mut(_binding_0); - } - NestedMeta::Lit(_binding_0) => { - v.visit_lit_mut(_binding_0); - } - } + skip!(node.eq_token); + v.visit_expr_mut(&mut node.value); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_parenthesized_generic_arguments_mut( @@ -2740,13 +2586,10 @@ pub fn visit_parenthesized_generic_arguments_mut( where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.paren_token.span); - for el in Punctuated::pairs_mut(&mut node.inputs) { - let (it, p) = el.into_tuple(); + skip!(node.paren_token); + for mut el in Punctuated::pairs_mut(&mut node.inputs) { + let it = el.value_mut(); v.visit_type_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } v.visit_return_type_mut(&mut node.output); } @@ -2756,26 +2599,29 @@ where V: VisitMut + ?Sized, { match node { - Pat::Box(_binding_0) => { - v.visit_pat_box_mut(_binding_0); + Pat::Const(_binding_0) => { + v.visit_expr_const_mut(_binding_0); } Pat::Ident(_binding_0) => { v.visit_pat_ident_mut(_binding_0); } Pat::Lit(_binding_0) => { - v.visit_pat_lit_mut(_binding_0); + v.visit_expr_lit_mut(_binding_0); } Pat::Macro(_binding_0) => { - v.visit_pat_macro_mut(_binding_0); + v.visit_expr_macro_mut(_binding_0); } Pat::Or(_binding_0) => { v.visit_pat_or_mut(_binding_0); } + Pat::Paren(_binding_0) => { + v.visit_pat_paren_mut(_binding_0); + } Pat::Path(_binding_0) => { - v.visit_pat_path_mut(_binding_0); + v.visit_expr_path_mut(_binding_0); } Pat::Range(_binding_0) => { - v.visit_pat_range_mut(_binding_0); + v.visit_expr_range_mut(_binding_0); } Pat::Reference(_binding_0) => { v.visit_pat_reference_mut(_binding_0); @@ -2804,20 +2650,7 @@ where Pat::Wild(_binding_0) => { v.visit_pat_wild_mut(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), - } -} -#[cfg(feature = "full")] -pub fn visit_pat_box_mut(v: &mut V, node: &mut PatBox) -where - V: VisitMut + ?Sized, -{ - for it in &mut node.attrs { - v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.box_token.span); - v.visit_pat_mut(&mut *node.pat); } #[cfg(feature = "full")] pub fn visit_pat_ident_mut(v: &mut V, node: &mut PatIdent) @@ -2827,39 +2660,15 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - if let Some(it) = &mut node.by_ref { - tokens_helper(v, &mut it.span); - } - if let Some(it) = &mut node.mutability { - tokens_helper(v, &mut it.span); - } + skip!(node.by_ref); + skip!(node.mutability); v.visit_ident_mut(&mut node.ident); if let Some(it) = &mut node.subpat { - tokens_helper(v, &mut (it).0.spans); + skip!((it).0); v.visit_pat_mut(&mut *(it).1); } } #[cfg(feature = "full")] -pub fn visit_pat_lit_mut(v: &mut V, node: &mut PatLit) -where - V: VisitMut + ?Sized, -{ - for it in &mut node.attrs { - v.visit_attribute_mut(it); - } - v.visit_expr_mut(&mut *node.expr); -} -#[cfg(feature = "full")] -pub fn visit_pat_macro_mut(v: &mut V, node: &mut PatMacro) -where - V: VisitMut + ?Sized, -{ - for it in &mut node.attrs { - v.visit_attribute_mut(it); - } - v.visit_macro_mut(&mut node.mac); -} -#[cfg(feature = "full")] pub fn visit_pat_or_mut(v: &mut V, node: &mut PatOr) where V: VisitMut + ?Sized, @@ -2867,41 +2676,22 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - if let Some(it) = &mut node.leading_vert { - tokens_helper(v, &mut it.spans); - } - for el in Punctuated::pairs_mut(&mut node.cases) { - let (it, p) = el.into_tuple(); + skip!(node.leading_vert); + for mut el in Punctuated::pairs_mut(&mut node.cases) { + let it = el.value_mut(); v.visit_pat_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } - } -} -#[cfg(feature = "full")] -pub fn visit_pat_path_mut(v: &mut V, node: &mut PatPath) -where - V: VisitMut + ?Sized, -{ - for it in &mut node.attrs { - v.visit_attribute_mut(it); - } - if let Some(it) = &mut node.qself { - v.visit_qself_mut(it); } - v.visit_path_mut(&mut node.path); } #[cfg(feature = "full")] -pub fn visit_pat_range_mut(v: &mut V, node: &mut PatRange) +pub fn visit_pat_paren_mut(v: &mut V, node: &mut PatParen) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it); } - v.visit_expr_mut(&mut *node.lo); - v.visit_range_limits_mut(&mut node.limits); - v.visit_expr_mut(&mut *node.hi); + skip!(node.paren_token); + v.visit_pat_mut(&mut *node.pat); } #[cfg(feature = "full")] pub fn visit_pat_reference_mut(v: &mut V, node: &mut PatReference) @@ -2911,10 +2701,8 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.and_token.spans); - if let Some(it) = &mut node.mutability { - tokens_helper(v, &mut it.span); - } + skip!(node.and_token); + skip!(node.mutability); v.visit_pat_mut(&mut *node.pat); } #[cfg(feature = "full")] @@ -2925,7 +2713,7 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.dot2_token.spans); + skip!(node.dot2_token); } #[cfg(feature = "full")] pub fn visit_pat_slice_mut(v: &mut V, node: &mut PatSlice) @@ -2935,13 +2723,10 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.bracket_token.span); - for el in Punctuated::pairs_mut(&mut node.elems) { - let (it, p) = el.into_tuple(); + skip!(node.bracket_token); + for mut el in Punctuated::pairs_mut(&mut node.elems) { + let it = el.value_mut(); v.visit_pat_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(feature = "full")] @@ -2952,17 +2737,17 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } + if let Some(it) = &mut node.qself { + v.visit_qself_mut(it); + } v.visit_path_mut(&mut node.path); - tokens_helper(v, &mut node.brace_token.span); - for el in Punctuated::pairs_mut(&mut node.fields) { - let (it, p) = el.into_tuple(); + skip!(node.brace_token); + for mut el in Punctuated::pairs_mut(&mut node.fields) { + let it = el.value_mut(); v.visit_field_pat_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } - if let Some(it) = &mut node.dot2_token { - tokens_helper(v, &mut it.spans); + if let Some(it) = &mut node.rest { + v.visit_pat_rest_mut(it); } } #[cfg(feature = "full")] @@ -2973,13 +2758,10 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.paren_token.span); - for el in Punctuated::pairs_mut(&mut node.elems) { - let (it, p) = el.into_tuple(); + skip!(node.paren_token); + for mut el in Punctuated::pairs_mut(&mut node.elems) { + let it = el.value_mut(); v.visit_pat_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(feature = "full")] @@ -2990,8 +2772,15 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } + if let Some(it) = &mut node.qself { + v.visit_qself_mut(it); + } v.visit_path_mut(&mut node.path); - v.visit_pat_tuple_mut(&mut node.pat); + skip!(node.paren_token); + for mut el in Punctuated::pairs_mut(&mut node.elems) { + let it = el.value_mut(); + v.visit_pat_mut(it); + } } #[cfg(feature = "full")] pub fn visit_pat_type_mut(v: &mut V, node: &mut PatType) @@ -3002,7 +2791,7 @@ where v.visit_attribute_mut(it); } v.visit_pat_mut(&mut *node.pat); - tokens_helper(v, &mut node.colon_token.spans); + skip!(node.colon_token); v.visit_type_mut(&mut *node.ty); } #[cfg(feature = "full")] @@ -3013,22 +2802,17 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.underscore_token.spans); + skip!(node.underscore_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_path_mut(v: &mut V, node: &mut Path) where V: VisitMut + ?Sized, { - if let Some(it) = &mut node.leading_colon { - tokens_helper(v, &mut it.spans); - } - for el in Punctuated::pairs_mut(&mut node.segments) { - let (it, p) = el.into_tuple(); + skip!(node.leading_colon); + for mut el in Punctuated::pairs_mut(&mut node.segments) { + let it = el.value_mut(); v.visit_path_segment_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3055,27 +2839,15 @@ where v.visit_path_arguments_mut(&mut node.arguments); } #[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_predicate_eq_mut(v: &mut V, node: &mut PredicateEq) -where - V: VisitMut + ?Sized, -{ - v.visit_type_mut(&mut node.lhs_ty); - tokens_helper(v, &mut node.eq_token.spans); - v.visit_type_mut(&mut node.rhs_ty); -} -#[cfg(any(feature = "derive", feature = "full"))] pub fn visit_predicate_lifetime_mut(v: &mut V, node: &mut PredicateLifetime) where V: VisitMut + ?Sized, { v.visit_lifetime_mut(&mut node.lifetime); - tokens_helper(v, &mut node.colon_token.spans); - for el in Punctuated::pairs_mut(&mut node.bounds) { - let (it, p) = el.into_tuple(); + skip!(node.colon_token); + for mut el in Punctuated::pairs_mut(&mut node.bounds) { + let it = el.value_mut(); v.visit_lifetime_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3087,13 +2859,10 @@ where v.visit_bound_lifetimes_mut(it); } v.visit_type_mut(&mut node.bounded_ty); - tokens_helper(v, &mut node.colon_token.spans); - for el in Punctuated::pairs_mut(&mut node.bounds) { - let (it, p) = el.into_tuple(); + skip!(node.colon_token); + for mut el in Punctuated::pairs_mut(&mut node.bounds) { + let it = el.value_mut(); v.visit_type_param_bound_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3101,13 +2870,11 @@ pub fn visit_qself_mut(v: &mut V, node: &mut QSelf) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.lt_token.spans); + skip!(node.lt_token); v.visit_type_mut(&mut *node.ty); skip!(node.position); - if let Some(it) = &mut node.as_token { - tokens_helper(v, &mut it.span); - } - tokens_helper(v, &mut node.gt_token.spans); + skip!(node.as_token); + skip!(node.gt_token); } #[cfg(feature = "full")] pub fn visit_range_limits_mut(v: &mut V, node: &mut RangeLimits) @@ -3116,10 +2883,10 @@ where { match node { RangeLimits::HalfOpen(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } RangeLimits::Closed(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } } } @@ -3132,15 +2899,15 @@ where v.visit_attribute_mut(it); } if let Some(it) = &mut node.reference { - tokens_helper(v, &mut (it).0.spans); + skip!((it).0); if let Some(it) = &mut (it).1 { v.visit_lifetime_mut(it); } } - if let Some(it) = &mut node.mutability { - tokens_helper(v, &mut it.span); - } - tokens_helper(v, &mut node.self_token.span); + skip!(node.mutability); + skip!(node.self_token); + skip!(node.colon_token); + v.visit_type_mut(&mut *node.ty); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_return_type_mut(v: &mut V, node: &mut ReturnType) @@ -3150,7 +2917,7 @@ where match node { ReturnType::Default => {} ReturnType::Type(_binding_0, _binding_1) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); v.visit_type_mut(&mut **_binding_1); } } @@ -3160,28 +2927,19 @@ pub fn visit_signature_mut(v: &mut V, node: &mut Signature) where V: VisitMut + ?Sized, { - if let Some(it) = &mut node.constness { - tokens_helper(v, &mut it.span); - } - if let Some(it) = &mut node.asyncness { - tokens_helper(v, &mut it.span); - } - if let Some(it) = &mut node.unsafety { - tokens_helper(v, &mut it.span); - } + skip!(node.constness); + skip!(node.asyncness); + skip!(node.unsafety); if let Some(it) = &mut node.abi { v.visit_abi_mut(it); } - tokens_helper(v, &mut node.fn_token.span); + skip!(node.fn_token); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); - tokens_helper(v, &mut node.paren_token.span); - for el in Punctuated::pairs_mut(&mut node.inputs) { - let (it, p) = el.into_tuple(); + skip!(node.paren_token); + for mut el in Punctuated::pairs_mut(&mut node.inputs) { + let it = el.value_mut(); v.visit_fn_arg_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } if let Some(it) = &mut node.variadic { v.visit_variadic_mut(it); @@ -3193,6 +2951,18 @@ where V: VisitMut + ?Sized, {} #[cfg(feature = "full")] +pub fn visit_static_mutability_mut(v: &mut V, node: &mut StaticMutability) +where + V: VisitMut + ?Sized, +{ + match node { + StaticMutability::Mut(_binding_0) => { + skip!(_binding_0); + } + StaticMutability::None => {} + } +} +#[cfg(feature = "full")] pub fn visit_stmt_mut(v: &mut V, node: &mut Stmt) where V: VisitMut + ?Sized, @@ -3204,23 +2974,32 @@ where Stmt::Item(_binding_0) => { v.visit_item_mut(_binding_0); } - Stmt::Expr(_binding_0) => { + Stmt::Expr(_binding_0, _binding_1) => { v.visit_expr_mut(_binding_0); + skip!(_binding_1); } - Stmt::Semi(_binding_0, _binding_1) => { - v.visit_expr_mut(_binding_0); - tokens_helper(v, &mut _binding_1.spans); + Stmt::Macro(_binding_0) => { + v.visit_stmt_macro_mut(_binding_0); } } } +#[cfg(feature = "full")] +pub fn visit_stmt_macro_mut(v: &mut V, node: &mut StmtMacro) +where + V: VisitMut + ?Sized, +{ + for it in &mut node.attrs { + v.visit_attribute_mut(it); + } + v.visit_macro_mut(&mut node.mac); + skip!(node.semi_token); +} #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_trait_bound_mut(v: &mut V, node: &mut TraitBound) where V: VisitMut + ?Sized, { - if let Some(it) = &mut node.paren_token { - tokens_helper(v, &mut it.span); - } + skip!(node.paren_token); v.visit_trait_bound_modifier_mut(&mut node.modifier); if let Some(it) = &mut node.lifetimes { v.visit_bound_lifetimes_mut(it); @@ -3235,7 +3014,7 @@ where match node { TraitBoundModifier::None => {} TraitBoundModifier::Maybe(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } } } @@ -3248,8 +3027,8 @@ where TraitItem::Const(_binding_0) => { v.visit_trait_item_const_mut(_binding_0); } - TraitItem::Method(_binding_0) => { - v.visit_trait_item_method_mut(_binding_0); + TraitItem::Fn(_binding_0) => { + v.visit_trait_item_fn_mut(_binding_0); } TraitItem::Type(_binding_0) => { v.visit_trait_item_type_mut(_binding_0); @@ -3260,8 +3039,6 @@ where TraitItem::Verbatim(_binding_0) => { skip!(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(feature = "full")] @@ -3272,44 +3049,41 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.const_token.span); + skip!(node.const_token); v.visit_ident_mut(&mut node.ident); - tokens_helper(v, &mut node.colon_token.spans); + v.visit_generics_mut(&mut node.generics); + skip!(node.colon_token); v.visit_type_mut(&mut node.ty); if let Some(it) = &mut node.default { - tokens_helper(v, &mut (it).0.spans); + skip!((it).0); v.visit_expr_mut(&mut (it).1); } - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); } #[cfg(feature = "full")] -pub fn visit_trait_item_macro_mut(v: &mut V, node: &mut TraitItemMacro) +pub fn visit_trait_item_fn_mut(v: &mut V, node: &mut TraitItemFn) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it); } - v.visit_macro_mut(&mut node.mac); - if let Some(it) = &mut node.semi_token { - tokens_helper(v, &mut it.spans); + v.visit_signature_mut(&mut node.sig); + if let Some(it) = &mut node.default { + v.visit_block_mut(it); } + skip!(node.semi_token); } #[cfg(feature = "full")] -pub fn visit_trait_item_method_mut(v: &mut V, node: &mut TraitItemMethod) +pub fn visit_trait_item_macro_mut(v: &mut V, node: &mut TraitItemMacro) where V: VisitMut + ?Sized, { for it in &mut node.attrs { v.visit_attribute_mut(it); } - v.visit_signature_mut(&mut node.sig); - if let Some(it) = &mut node.default { - v.visit_block_mut(it); - } - if let Some(it) = &mut node.semi_token { - tokens_helper(v, &mut it.spans); - } + v.visit_macro_mut(&mut node.mac); + skip!(node.semi_token); } #[cfg(feature = "full")] pub fn visit_trait_item_type_mut(v: &mut V, node: &mut TraitItemType) @@ -3319,24 +3093,19 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.type_token.span); + skip!(node.type_token); v.visit_ident_mut(&mut node.ident); v.visit_generics_mut(&mut node.generics); - if let Some(it) = &mut node.colon_token { - tokens_helper(v, &mut it.spans); - } - for el in Punctuated::pairs_mut(&mut node.bounds) { - let (it, p) = el.into_tuple(); + skip!(node.colon_token); + for mut el in Punctuated::pairs_mut(&mut node.bounds) { + let it = el.value_mut(); v.visit_type_param_bound_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } if let Some(it) = &mut node.default { - tokens_helper(v, &mut (it).0.spans); + skip!((it).0); v.visit_type_mut(&mut (it).1); } - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_mut(v: &mut V, node: &mut Type) @@ -3389,8 +3158,6 @@ where Type::Verbatim(_binding_0) => { skip!(_binding_0); } - #[cfg(syn_no_non_exhaustive)] - _ => unreachable!(), } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3398,9 +3165,9 @@ pub fn visit_type_array_mut(v: &mut V, node: &mut TypeArray) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.bracket_token.span); + skip!(node.bracket_token); v.visit_type_mut(&mut *node.elem); - tokens_helper(v, &mut node.semi_token.spans); + skip!(node.semi_token); v.visit_expr_mut(&mut node.len); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3411,23 +3178,18 @@ where if let Some(it) = &mut node.lifetimes { v.visit_bound_lifetimes_mut(it); } - if let Some(it) = &mut node.unsafety { - tokens_helper(v, &mut it.span); - } + skip!(node.unsafety); if let Some(it) = &mut node.abi { v.visit_abi_mut(it); } - tokens_helper(v, &mut node.fn_token.span); - tokens_helper(v, &mut node.paren_token.span); - for el in Punctuated::pairs_mut(&mut node.inputs) { - let (it, p) = el.into_tuple(); + skip!(node.fn_token); + skip!(node.paren_token); + for mut el in Punctuated::pairs_mut(&mut node.inputs) { + let it = el.value_mut(); v.visit_bare_fn_arg_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } if let Some(it) = &mut node.variadic { - v.visit_variadic_mut(it); + v.visit_bare_variadic_mut(it); } v.visit_return_type_mut(&mut node.output); } @@ -3436,7 +3198,7 @@ pub fn visit_type_group_mut(v: &mut V, node: &mut TypeGroup) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.group_token.span); + skip!(node.group_token); v.visit_type_mut(&mut *node.elem); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3444,13 +3206,10 @@ pub fn visit_type_impl_trait_mut(v: &mut V, node: &mut TypeImplTrait) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.impl_token.span); - for el in Punctuated::pairs_mut(&mut node.bounds) { - let (it, p) = el.into_tuple(); + skip!(node.impl_token); + for mut el in Punctuated::pairs_mut(&mut node.bounds) { + let it = el.value_mut(); v.visit_type_param_bound_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3458,7 +3217,7 @@ pub fn visit_type_infer_mut(v: &mut V, node: &mut TypeInfer) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.underscore_token.spans); + skip!(node.underscore_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_macro_mut(v: &mut V, node: &mut TypeMacro) @@ -3472,7 +3231,7 @@ pub fn visit_type_never_mut(v: &mut V, node: &mut TypeNever) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.bang_token.spans); + skip!(node.bang_token); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_type_param_mut(v: &mut V, node: &mut TypeParam) @@ -3483,19 +3242,12 @@ where v.visit_attribute_mut(it); } v.visit_ident_mut(&mut node.ident); - if let Some(it) = &mut node.colon_token { - tokens_helper(v, &mut it.spans); - } - for el in Punctuated::pairs_mut(&mut node.bounds) { - let (it, p) = el.into_tuple(); + skip!(node.colon_token); + for mut el in Punctuated::pairs_mut(&mut node.bounds) { + let it = el.value_mut(); v.visit_type_param_bound_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } - } - if let Some(it) = &mut node.eq_token { - tokens_helper(v, &mut it.spans); } + skip!(node.eq_token); if let Some(it) = &mut node.default { v.visit_type_mut(it); } @@ -3512,6 +3264,9 @@ where TypeParamBound::Lifetime(_binding_0) => { v.visit_lifetime_mut(_binding_0); } + TypeParamBound::Verbatim(_binding_0) => { + skip!(_binding_0); + } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3519,7 +3274,7 @@ pub fn visit_type_paren_mut(v: &mut V, node: &mut TypeParen) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.paren_token.span); + skip!(node.paren_token); v.visit_type_mut(&mut *node.elem); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3537,13 +3292,9 @@ pub fn visit_type_ptr_mut(v: &mut V, node: &mut TypePtr) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.star_token.spans); - if let Some(it) = &mut node.const_token { - tokens_helper(v, &mut it.span); - } - if let Some(it) = &mut node.mutability { - tokens_helper(v, &mut it.span); - } + skip!(node.star_token); + skip!(node.const_token); + skip!(node.mutability); v.visit_type_mut(&mut *node.elem); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3551,13 +3302,11 @@ pub fn visit_type_reference_mut(v: &mut V, node: &mut TypeReference) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.and_token.spans); + skip!(node.and_token); if let Some(it) = &mut node.lifetime { v.visit_lifetime_mut(it); } - if let Some(it) = &mut node.mutability { - tokens_helper(v, &mut it.span); - } + skip!(node.mutability); v.visit_type_mut(&mut *node.elem); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3565,7 +3314,7 @@ pub fn visit_type_slice_mut(v: &mut V, node: &mut TypeSlice) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.bracket_token.span); + skip!(node.bracket_token); v.visit_type_mut(&mut *node.elem); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3573,15 +3322,10 @@ pub fn visit_type_trait_object_mut(v: &mut V, node: &mut TypeTraitObject) where V: VisitMut + ?Sized, { - if let Some(it) = &mut node.dyn_token { - tokens_helper(v, &mut it.span); - } - for el in Punctuated::pairs_mut(&mut node.bounds) { - let (it, p) = el.into_tuple(); + skip!(node.dyn_token); + for mut el in Punctuated::pairs_mut(&mut node.bounds) { + let it = el.value_mut(); v.visit_type_param_bound_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3589,13 +3333,10 @@ pub fn visit_type_tuple_mut(v: &mut V, node: &mut TypeTuple) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.paren_token.span); - for el in Punctuated::pairs_mut(&mut node.elems) { - let (it, p) = el.into_tuple(); + skip!(node.paren_token); + for mut el in Punctuated::pairs_mut(&mut node.elems) { + let it = el.value_mut(); v.visit_type_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3605,13 +3346,13 @@ where { match node { UnOp::Deref(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } UnOp::Not(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } UnOp::Neg(_binding_0) => { - tokens_helper(v, &mut _binding_0.spans); + skip!(_binding_0); } } } @@ -3620,20 +3361,17 @@ pub fn visit_use_glob_mut(v: &mut V, node: &mut UseGlob) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.star_token.spans); + skip!(node.star_token); } #[cfg(feature = "full")] pub fn visit_use_group_mut(v: &mut V, node: &mut UseGroup) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.brace_token.span); - for el in Punctuated::pairs_mut(&mut node.items) { - let (it, p) = el.into_tuple(); + skip!(node.brace_token); + for mut el in Punctuated::pairs_mut(&mut node.items) { + let it = el.value_mut(); v.visit_use_tree_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(feature = "full")] @@ -3649,7 +3387,7 @@ where V: VisitMut + ?Sized, { v.visit_ident_mut(&mut node.ident); - tokens_helper(v, &mut node.colon2_token.spans); + skip!(node.colon2_token); v.visit_use_tree_mut(&mut *node.tree); } #[cfg(feature = "full")] @@ -3658,7 +3396,7 @@ where V: VisitMut + ?Sized, { v.visit_ident_mut(&mut node.ident); - tokens_helper(v, &mut node.as_token.span); + skip!(node.as_token); v.visit_ident_mut(&mut node.rename); } #[cfg(feature = "full")] @@ -3684,7 +3422,7 @@ where } } } -#[cfg(any(feature = "derive", feature = "full"))] +#[cfg(feature = "full")] pub fn visit_variadic_mut(v: &mut V, node: &mut Variadic) where V: VisitMut + ?Sized, @@ -3692,7 +3430,12 @@ where for it in &mut node.attrs { v.visit_attribute_mut(it); } - tokens_helper(v, &mut node.dots.spans); + if let Some(it) = &mut node.pat { + v.visit_pat_mut(&mut *(it).0); + skip!((it).1); + } + skip!(node.dots); + skip!(node.comma); } #[cfg(any(feature = "derive", feature = "full"))] pub fn visit_variant_mut(v: &mut V, node: &mut Variant) @@ -3705,34 +3448,18 @@ where v.visit_ident_mut(&mut node.ident); v.visit_fields_mut(&mut node.fields); if let Some(it) = &mut node.discriminant { - tokens_helper(v, &mut (it).0.spans); + skip!((it).0); v.visit_expr_mut(&mut (it).1); } } #[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_vis_crate_mut(v: &mut V, node: &mut VisCrate) -where - V: VisitMut + ?Sized, -{ - tokens_helper(v, &mut node.crate_token.span); -} -#[cfg(any(feature = "derive", feature = "full"))] -pub fn visit_vis_public_mut(v: &mut V, node: &mut VisPublic) -where - V: VisitMut + ?Sized, -{ - tokens_helper(v, &mut node.pub_token.span); -} -#[cfg(any(feature = "derive", feature = "full"))] pub fn visit_vis_restricted_mut(v: &mut V, node: &mut VisRestricted) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.pub_token.span); - tokens_helper(v, &mut node.paren_token.span); - if let Some(it) = &mut node.in_token { - tokens_helper(v, &mut it.span); - } + skip!(node.pub_token); + skip!(node.paren_token); + skip!(node.in_token); v.visit_path_mut(&mut *node.path); } #[cfg(any(feature = "derive", feature = "full"))] @@ -3742,10 +3469,7 @@ where { match node { Visibility::Public(_binding_0) => { - v.visit_vis_public_mut(_binding_0); - } - Visibility::Crate(_binding_0) => { - v.visit_vis_crate_mut(_binding_0); + skip!(_binding_0); } Visibility::Restricted(_binding_0) => { v.visit_vis_restricted_mut(_binding_0); @@ -3758,13 +3482,10 @@ pub fn visit_where_clause_mut(v: &mut V, node: &mut WhereClause) where V: VisitMut + ?Sized, { - tokens_helper(v, &mut node.where_token.span); - for el in Punctuated::pairs_mut(&mut node.predicates) { - let (it, p) = el.into_tuple(); + skip!(node.where_token); + for mut el in Punctuated::pairs_mut(&mut node.predicates) { + let it = el.value_mut(); v.visit_where_predicate_mut(it); - if let Some(p) = p { - tokens_helper(v, &mut p.spans); - } } } #[cfg(any(feature = "derive", feature = "full"))] @@ -3773,14 +3494,11 @@ where V: VisitMut + ?Sized, { match node { - WherePredicate::Type(_binding_0) => { - v.visit_predicate_type_mut(_binding_0); - } WherePredicate::Lifetime(_binding_0) => { v.visit_predicate_lifetime_mut(_binding_0); } - WherePredicate::Eq(_binding_0) => { - v.visit_predicate_eq_mut(_binding_0); + WherePredicate::Type(_binding_0) => { + v.visit_predicate_type_mut(_binding_0); } } } -- cgit v1.2.3