summaryrefslogtreecommitdiffstats
path: root/vendor/syn/src/gen
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:20:39 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:20:39 +0000
commit1376c5a617be5c25655d0d7cb63e3beaa5a6e026 (patch)
tree3bb8d61aee02bc7a15eab3f36e3b921afc2075d0 /vendor/syn/src/gen
parentReleasing progress-linux version 1.69.0+dfsg1-1~progress7.99u1. (diff)
downloadrustc-1376c5a617be5c25655d0d7cb63e3beaa5a6e026.tar.xz
rustc-1376c5a617be5c25655d0d7cb63e3beaa5a6e026.zip
Merging upstream version 1.70.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/syn/src/gen')
-rw-r--r--vendor/syn/src/gen/clone.rs405
-rw-r--r--vendor/syn/src/gen/debug.rs2923
-rw-r--r--vendor/syn/src/gen/eq.rs446
-rw-r--r--vendor/syn/src/gen/fold.rs1204
-rw-r--r--vendor/syn/src/gen/hash.rs558
-rw-r--r--vendor/syn/src/gen/visit.rs1413
-rw-r--r--vendor/syn/src/gen/visit_mut.rs1478
7 files changed, 3742 insertions, 4685 deletions
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()
- }
+ Expr::Array(v0) => v0.debug(formatter, "Array"),
#[cfg(feature = "full")]
- Expr::Assign(v0) => {
- let mut formatter = formatter.debug_tuple("Assign");
- formatter.field(v0);
- formatter.finish()
- }
+ Expr::Assign(v0) => v0.debug(formatter, "Assign"),
#[cfg(feature = "full")]
- Expr::AssignOp(v0) => {
- let mut formatter = formatter.debug_tuple("AssignOp");
- formatter.field(v0);
- formatter.finish()
- }
+ Expr::Async(v0) => v0.debug(formatter, "Async"),
#[cfg(feature = "full")]
- Expr::Async(v0) => {
- let mut formatter = formatter.debug_tuple("Async");
- formatter.field(v0);
- formatter.finish()
- }
+ Expr::Await(v0) => v0.debug(formatter, "Await"),
+ Expr::Binary(v0) => v0.debug(formatter, "Binary"),
#[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::Block(v0) => v0.debug(formatter, "Block"),
#[cfg(feature = "full")]
- Expr::Block(v0) => {
- let mut formatter = formatter.debug_tuple("Block");
- 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::Box(v0) => {
- let mut formatter = formatter.debug_tuple("Box");
- formatter.field(v0);
- formatter.finish()
- }
+ Expr::Closure(v0) => v0.debug(formatter, "Closure"),
#[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::Const(v0) => v0.debug(formatter, "Const"),
#[cfg(feature = "full")]
- Expr::Closure(v0) => {
- let mut formatter = formatter.debug_tuple("Closure");
- formatter.field(v0);
- formatter.finish()
- }
+ Expr::Continue(v0) => v0.debug(formatter, "Continue"),
+ Expr::Field(v0) => v0.debug(formatter, "Field"),
#[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::ForLoop(v0) => v0.debug(formatter, "ForLoop"),
+ Expr::Group(v0) => v0.debug(formatter, "Group"),
#[cfg(feature = "full")]
- Expr::ForLoop(v0) => {
- let mut formatter = formatter.debug_tuple("ForLoop");
- formatter.field(v0);
- formatter.finish()
- }
+ Expr::If(v0) => v0.debug(formatter, "If"),
+ Expr::Index(v0) => v0.debug(formatter, "Index"),
#[cfg(feature = "full")]
- Expr::Group(v0) => {
- let mut formatter = formatter.debug_tuple("Group");
- formatter.field(v0);
- formatter.finish()
- }
+ Expr::Infer(v0) => v0.debug(formatter, "Infer"),
#[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::Let(v0) => v0.debug(formatter, "Let"),
+ Expr::Lit(v0) => v0.debug(formatter, "Lit"),
#[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::Loop(v0) => v0.debug(formatter, "Loop"),
+ Expr::Macro(v0) => v0.debug(formatter, "Macro"),
#[cfg(feature = "full")]
- Expr::Loop(v0) => {
- let mut formatter = formatter.debug_tuple("Loop");
- formatter.field(v0);
- formatter.finish()
- }
+ Expr::Match(v0) => v0.debug(formatter, "Match"),
#[cfg(feature = "full")]
- Expr::Macro(v0) => {
- let mut formatter = formatter.debug_tuple("Macro");
- 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::Match(v0) => {
- let mut formatter = formatter.debug_tuple("Match");
- formatter.field(v0);
- formatter.finish()
- }
+ Expr::Range(v0) => v0.debug(formatter, "Range"),
#[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::Reference(v0) => v0.debug(formatter, "Reference"),
#[cfg(feature = "full")]
- Expr::Range(v0) => {
- let mut formatter = formatter.debug_tuple("Range");
- formatter.field(v0);
- formatter.finish()
- }
+ Expr::Repeat(v0) => v0.debug(formatter, "Repeat"),
#[cfg(feature = "full")]
- Expr::Reference(v0) => {
- let mut formatter = formatter.debug_tuple("Reference");
- formatter.field(v0);
- formatter.finish()
- }
+ Expr::Return(v0) => v0.debug(formatter, "Return"),
#[cfg(feature = "full")]
- Expr::Repeat(v0) => {
- let mut formatter = formatter.debug_tuple("Repeat");
- formatter.field(v0);
- formatter.finish()
- }
- #[cfg(feature = "full")]
- Expr::Return(v0) => {
- let mut formatter = formatter.debug_tuple("Return");
- formatter.field(v0);
- formatter.finish()
- }
- #[cfg(feature = "full")]
- Expr::Struct(v0) => {
- let mut formatter = formatter.debug_tuple("Struct");
- formatter.field(v0);
- formatter.finish()
- }
- #[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");
- 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");
+ GenericArgument::AssocConst(v0) => {
+ let mut formatter = formatter.debug_tuple("AssocConst");
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()
+ 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 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>(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>(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>(f: &mut F, node: BinOp) -> BinOp
+pub fn fold_bare_variadic<F>(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>(f: &mut F, node: Binding) -> Binding
+pub fn fold_bin_op<F>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(
- 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>(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>(f: &mut F, node: ImplItemMacro) -> ImplItemMacro
+pub fn fold_impl_item_fn<F>(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>(f: &mut F, node: ImplItemMethod) -> ImplItemMethod
+pub fn fold_impl_item_macro<F>(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>(f: &mut F, node: ImplRestriction) -> ImplRestriction
+where
+ F: Fold + ?Sized,
+{
+ match node {}
+}
#[cfg(any(feature = "derive", feature = "full"))]
pub fn fold_index<F>(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>(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>(f: &mut F, node: Lifetime) -> Lifetime
@@ -2256,14 +2137,14 @@ where
}
}
#[cfg(any(feature = "derive", feature = "full"))]
-pub fn fold_lifetime_def<F>(f: &mut F, node: LifetimeDef) -> LifetimeDef
+pub fn fold_lifetime_param<F>(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>(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>(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>(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>(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>(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>(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>(f: &mut F, node: PatPath) -> PatPath
+pub fn fold_pat_paren<F>(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>(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>(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>(
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>(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>(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>(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>(f: &mut F, node: TraitItemMacro) -> TraitItemMacro
+pub fn fold_trait_item_fn<F>(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>(f: &mut F, node: TraitItemMethod) -> TraitItemMethod
+pub fn fold_trait_item_macro<F>(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>(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>(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>(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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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<H>(&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>(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<V>(
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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(v: &mut V, node: &mut FieldMutability)
+where
+ V: VisitMut + ?Sized,
+{
+ match node {
+ FieldMutability::None => {}
+ }
+}
#[cfg(feature = "full")]
pub fn visit_field_pat_mut<V>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(v: &mut V, node: &mut ImplItemMacro)
+pub fn visit_impl_item_fn_mut<V>(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>(v: &mut V, node: &mut ImplItemMethod)
+pub fn visit_impl_item_macro_mut<V>(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>(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>(v: &mut V, node: &mut ImplRestriction)
+where
+ V: VisitMut + ?Sized,
+{
+ match *node {}
}
#[cfg(any(feature = "derive", feature = "full"))]
pub fn visit_index_mut<V>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(v: &mut V, node: &mut LifetimeDef)
+pub fn visit_lifetime_param_mut<V>(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>(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>(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>(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>(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>(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>(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<V>(
@@ -2740,13 +2586,10 @@ pub fn visit_parenthesized_generic_arguments_mut<V>(
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>(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>(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>(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>(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>(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>(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>(v: &mut V, node: &mut PatRange)
+pub fn visit_pat_paren_mut<V>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(v: &mut V, node: &mut TraitItemMacro)
+pub fn visit_trait_item_fn_mut<V>(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>(v: &mut V, node: &mut TraitItemMethod)
+pub fn visit_trait_item_macro_mut<V>(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>(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>(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>(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>(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>(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>(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>(v: &mut V, node: &mut TypeMacro)
@@ -3472,7 +3231,7 @@ pub fn visit_type_never_mut<V>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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>(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);
}
}
}