1 // This file is @generated by syn-internal-codegen.
2 // It is not intended for manual editing.
3 
4 use crate::*;
5 use std::fmt::{self, Debug};
6 #[cfg(any(feature = "derive", feature = "full"))]
7 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
8 impl Debug for Abi {
fmtnull9     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
10         let mut formatter = formatter.debug_struct("Abi");
11         formatter.field("extern_token", &self.extern_token);
12         formatter.field("name", &self.name);
13         formatter.finish()
14     }
15 }
16 #[cfg(any(feature = "derive", feature = "full"))]
17 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
18 impl Debug for AngleBracketedGenericArguments {
fmtnull19     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
20         impl AngleBracketedGenericArguments {
21             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
22                 let mut formatter = formatter.debug_struct(name);
23                 formatter.field("colon2_token", &self.colon2_token);
24                 formatter.field("lt_token", &self.lt_token);
25                 formatter.field("args", &self.args);
26                 formatter.field("gt_token", &self.gt_token);
27                 formatter.finish()
28             }
29         }
30         self.debug(formatter, "AngleBracketedGenericArguments")
31     }
32 }
33 #[cfg(feature = "full")]
34 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
35 impl Debug for Arm {
fmtnull36     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
37         let mut formatter = formatter.debug_struct("Arm");
38         formatter.field("attrs", &self.attrs);
39         formatter.field("pat", &self.pat);
40         formatter.field("guard", &self.guard);
41         formatter.field("fat_arrow_token", &self.fat_arrow_token);
42         formatter.field("body", &self.body);
43         formatter.field("comma", &self.comma);
44         formatter.finish()
45     }
46 }
47 #[cfg(any(feature = "derive", feature = "full"))]
48 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
49 impl Debug for AssocConst {
fmtnull50     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
51         let mut formatter = formatter.debug_struct("AssocConst");
52         formatter.field("ident", &self.ident);
53         formatter.field("generics", &self.generics);
54         formatter.field("eq_token", &self.eq_token);
55         formatter.field("value", &self.value);
56         formatter.finish()
57     }
58 }
59 #[cfg(any(feature = "derive", feature = "full"))]
60 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
61 impl Debug for AssocType {
fmtnull62     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
63         let mut formatter = formatter.debug_struct("AssocType");
64         formatter.field("ident", &self.ident);
65         formatter.field("generics", &self.generics);
66         formatter.field("eq_token", &self.eq_token);
67         formatter.field("ty", &self.ty);
68         formatter.finish()
69     }
70 }
71 #[cfg(any(feature = "derive", feature = "full"))]
72 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
73 impl Debug for AttrStyle {
fmtnull74     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
75         formatter.write_str("AttrStyle::")?;
76         match self {
77             AttrStyle::Outer => formatter.write_str("Outer"),
78             AttrStyle::Inner(v0) => {
79                 let mut formatter = formatter.debug_tuple("Inner");
80                 formatter.field(v0);
81                 formatter.finish()
82             }
83         }
84     }
85 }
86 #[cfg(any(feature = "derive", feature = "full"))]
87 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
88 impl Debug for Attribute {
fmtnull89     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
90         let mut formatter = formatter.debug_struct("Attribute");
91         formatter.field("pound_token", &self.pound_token);
92         formatter.field("style", &self.style);
93         formatter.field("bracket_token", &self.bracket_token);
94         formatter.field("meta", &self.meta);
95         formatter.finish()
96     }
97 }
98 #[cfg(any(feature = "derive", feature = "full"))]
99 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
100 impl Debug for BareFnArg {
fmtnull101     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
102         let mut formatter = formatter.debug_struct("BareFnArg");
103         formatter.field("attrs", &self.attrs);
104         formatter.field("name", &self.name);
105         formatter.field("ty", &self.ty);
106         formatter.finish()
107     }
108 }
109 #[cfg(any(feature = "derive", feature = "full"))]
110 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
111 impl Debug for BareVariadic {
fmtnull112     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
113         let mut formatter = formatter.debug_struct("BareVariadic");
114         formatter.field("attrs", &self.attrs);
115         formatter.field("name", &self.name);
116         formatter.field("dots", &self.dots);
117         formatter.field("comma", &self.comma);
118         formatter.finish()
119     }
120 }
121 #[cfg(any(feature = "derive", feature = "full"))]
122 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
123 impl Debug for BinOp {
fmtnull124     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
125         formatter.write_str("BinOp::")?;
126         match self {
127             BinOp::Add(v0) => {
128                 let mut formatter = formatter.debug_tuple("Add");
129                 formatter.field(v0);
130                 formatter.finish()
131             }
132             BinOp::Sub(v0) => {
133                 let mut formatter = formatter.debug_tuple("Sub");
134                 formatter.field(v0);
135                 formatter.finish()
136             }
137             BinOp::Mul(v0) => {
138                 let mut formatter = formatter.debug_tuple("Mul");
139                 formatter.field(v0);
140                 formatter.finish()
141             }
142             BinOp::Div(v0) => {
143                 let mut formatter = formatter.debug_tuple("Div");
144                 formatter.field(v0);
145                 formatter.finish()
146             }
147             BinOp::Rem(v0) => {
148                 let mut formatter = formatter.debug_tuple("Rem");
149                 formatter.field(v0);
150                 formatter.finish()
151             }
152             BinOp::And(v0) => {
153                 let mut formatter = formatter.debug_tuple("And");
154                 formatter.field(v0);
155                 formatter.finish()
156             }
157             BinOp::Or(v0) => {
158                 let mut formatter = formatter.debug_tuple("Or");
159                 formatter.field(v0);
160                 formatter.finish()
161             }
162             BinOp::BitXor(v0) => {
163                 let mut formatter = formatter.debug_tuple("BitXor");
164                 formatter.field(v0);
165                 formatter.finish()
166             }
167             BinOp::BitAnd(v0) => {
168                 let mut formatter = formatter.debug_tuple("BitAnd");
169                 formatter.field(v0);
170                 formatter.finish()
171             }
172             BinOp::BitOr(v0) => {
173                 let mut formatter = formatter.debug_tuple("BitOr");
174                 formatter.field(v0);
175                 formatter.finish()
176             }
177             BinOp::Shl(v0) => {
178                 let mut formatter = formatter.debug_tuple("Shl");
179                 formatter.field(v0);
180                 formatter.finish()
181             }
182             BinOp::Shr(v0) => {
183                 let mut formatter = formatter.debug_tuple("Shr");
184                 formatter.field(v0);
185                 formatter.finish()
186             }
187             BinOp::Eq(v0) => {
188                 let mut formatter = formatter.debug_tuple("Eq");
189                 formatter.field(v0);
190                 formatter.finish()
191             }
192             BinOp::Lt(v0) => {
193                 let mut formatter = formatter.debug_tuple("Lt");
194                 formatter.field(v0);
195                 formatter.finish()
196             }
197             BinOp::Le(v0) => {
198                 let mut formatter = formatter.debug_tuple("Le");
199                 formatter.field(v0);
200                 formatter.finish()
201             }
202             BinOp::Ne(v0) => {
203                 let mut formatter = formatter.debug_tuple("Ne");
204                 formatter.field(v0);
205                 formatter.finish()
206             }
207             BinOp::Ge(v0) => {
208                 let mut formatter = formatter.debug_tuple("Ge");
209                 formatter.field(v0);
210                 formatter.finish()
211             }
212             BinOp::Gt(v0) => {
213                 let mut formatter = formatter.debug_tuple("Gt");
214                 formatter.field(v0);
215                 formatter.finish()
216             }
217             BinOp::AddAssign(v0) => {
218                 let mut formatter = formatter.debug_tuple("AddAssign");
219                 formatter.field(v0);
220                 formatter.finish()
221             }
222             BinOp::SubAssign(v0) => {
223                 let mut formatter = formatter.debug_tuple("SubAssign");
224                 formatter.field(v0);
225                 formatter.finish()
226             }
227             BinOp::MulAssign(v0) => {
228                 let mut formatter = formatter.debug_tuple("MulAssign");
229                 formatter.field(v0);
230                 formatter.finish()
231             }
232             BinOp::DivAssign(v0) => {
233                 let mut formatter = formatter.debug_tuple("DivAssign");
234                 formatter.field(v0);
235                 formatter.finish()
236             }
237             BinOp::RemAssign(v0) => {
238                 let mut formatter = formatter.debug_tuple("RemAssign");
239                 formatter.field(v0);
240                 formatter.finish()
241             }
242             BinOp::BitXorAssign(v0) => {
243                 let mut formatter = formatter.debug_tuple("BitXorAssign");
244                 formatter.field(v0);
245                 formatter.finish()
246             }
247             BinOp::BitAndAssign(v0) => {
248                 let mut formatter = formatter.debug_tuple("BitAndAssign");
249                 formatter.field(v0);
250                 formatter.finish()
251             }
252             BinOp::BitOrAssign(v0) => {
253                 let mut formatter = formatter.debug_tuple("BitOrAssign");
254                 formatter.field(v0);
255                 formatter.finish()
256             }
257             BinOp::ShlAssign(v0) => {
258                 let mut formatter = formatter.debug_tuple("ShlAssign");
259                 formatter.field(v0);
260                 formatter.finish()
261             }
262             BinOp::ShrAssign(v0) => {
263                 let mut formatter = formatter.debug_tuple("ShrAssign");
264                 formatter.field(v0);
265                 formatter.finish()
266             }
267         }
268     }
269 }
270 #[cfg(feature = "full")]
271 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
272 impl Debug for Block {
fmtnull273     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
274         let mut formatter = formatter.debug_struct("Block");
275         formatter.field("brace_token", &self.brace_token);
276         formatter.field("stmts", &self.stmts);
277         formatter.finish()
278     }
279 }
280 #[cfg(any(feature = "derive", feature = "full"))]
281 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
282 impl Debug for BoundLifetimes {
fmtnull283     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
284         let mut formatter = formatter.debug_struct("BoundLifetimes");
285         formatter.field("for_token", &self.for_token);
286         formatter.field("lt_token", &self.lt_token);
287         formatter.field("lifetimes", &self.lifetimes);
288         formatter.field("gt_token", &self.gt_token);
289         formatter.finish()
290     }
291 }
292 #[cfg(any(feature = "derive", feature = "full"))]
293 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
294 impl Debug for ConstParam {
fmtnull295     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
296         let mut formatter = formatter.debug_struct("ConstParam");
297         formatter.field("attrs", &self.attrs);
298         formatter.field("const_token", &self.const_token);
299         formatter.field("ident", &self.ident);
300         formatter.field("colon_token", &self.colon_token);
301         formatter.field("ty", &self.ty);
302         formatter.field("eq_token", &self.eq_token);
303         formatter.field("default", &self.default);
304         formatter.finish()
305     }
306 }
307 #[cfg(any(feature = "derive", feature = "full"))]
308 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
309 impl Debug for Constraint {
fmtnull310     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
311         let mut formatter = formatter.debug_struct("Constraint");
312         formatter.field("ident", &self.ident);
313         formatter.field("generics", &self.generics);
314         formatter.field("colon_token", &self.colon_token);
315         formatter.field("bounds", &self.bounds);
316         formatter.finish()
317     }
318 }
319 #[cfg(feature = "derive")]
320 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
321 impl Debug for Data {
fmtnull322     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
323         formatter.write_str("Data::")?;
324         match self {
325             Data::Struct(v0) => v0.debug(formatter, "Struct"),
326             Data::Enum(v0) => v0.debug(formatter, "Enum"),
327             Data::Union(v0) => v0.debug(formatter, "Union"),
328         }
329     }
330 }
331 #[cfg(feature = "derive")]
332 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
333 impl Debug for DataEnum {
fmtnull334     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
335         impl DataEnum {
336             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
337                 let mut formatter = formatter.debug_struct(name);
338                 formatter.field("enum_token", &self.enum_token);
339                 formatter.field("brace_token", &self.brace_token);
340                 formatter.field("variants", &self.variants);
341                 formatter.finish()
342             }
343         }
344         self.debug(formatter, "DataEnum")
345     }
346 }
347 #[cfg(feature = "derive")]
348 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
349 impl Debug for DataStruct {
fmtnull350     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
351         impl DataStruct {
352             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
353                 let mut formatter = formatter.debug_struct(name);
354                 formatter.field("struct_token", &self.struct_token);
355                 formatter.field("fields", &self.fields);
356                 formatter.field("semi_token", &self.semi_token);
357                 formatter.finish()
358             }
359         }
360         self.debug(formatter, "DataStruct")
361     }
362 }
363 #[cfg(feature = "derive")]
364 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
365 impl Debug for DataUnion {
fmtnull366     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
367         impl DataUnion {
368             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
369                 let mut formatter = formatter.debug_struct(name);
370                 formatter.field("union_token", &self.union_token);
371                 formatter.field("fields", &self.fields);
372                 formatter.finish()
373             }
374         }
375         self.debug(formatter, "DataUnion")
376     }
377 }
378 #[cfg(feature = "derive")]
379 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
380 impl Debug for DeriveInput {
fmtnull381     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
382         let mut formatter = formatter.debug_struct("DeriveInput");
383         formatter.field("attrs", &self.attrs);
384         formatter.field("vis", &self.vis);
385         formatter.field("ident", &self.ident);
386         formatter.field("generics", &self.generics);
387         formatter.field("data", &self.data);
388         formatter.finish()
389     }
390 }
391 #[cfg(any(feature = "derive", feature = "full"))]
392 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
393 impl Debug for Expr {
fmtnull394     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
395         formatter.write_str("Expr::")?;
396         match self {
397             #[cfg(feature = "full")]
398             Expr::Array(v0) => v0.debug(formatter, "Array"),
399             #[cfg(feature = "full")]
400             Expr::Assign(v0) => v0.debug(formatter, "Assign"),
401             #[cfg(feature = "full")]
402             Expr::Async(v0) => v0.debug(formatter, "Async"),
403             #[cfg(feature = "full")]
404             Expr::Await(v0) => v0.debug(formatter, "Await"),
405             Expr::Binary(v0) => v0.debug(formatter, "Binary"),
406             #[cfg(feature = "full")]
407             Expr::Block(v0) => v0.debug(formatter, "Block"),
408             #[cfg(feature = "full")]
409             Expr::Break(v0) => v0.debug(formatter, "Break"),
410             Expr::Call(v0) => v0.debug(formatter, "Call"),
411             Expr::Cast(v0) => v0.debug(formatter, "Cast"),
412             #[cfg(feature = "full")]
413             Expr::Closure(v0) => v0.debug(formatter, "Closure"),
414             #[cfg(feature = "full")]
415             Expr::Const(v0) => v0.debug(formatter, "Const"),
416             #[cfg(feature = "full")]
417             Expr::Continue(v0) => v0.debug(formatter, "Continue"),
418             Expr::Field(v0) => v0.debug(formatter, "Field"),
419             #[cfg(feature = "full")]
420             Expr::ForLoop(v0) => v0.debug(formatter, "ForLoop"),
421             Expr::Group(v0) => v0.debug(formatter, "Group"),
422             #[cfg(feature = "full")]
423             Expr::If(v0) => v0.debug(formatter, "If"),
424             Expr::Index(v0) => v0.debug(formatter, "Index"),
425             #[cfg(feature = "full")]
426             Expr::Infer(v0) => v0.debug(formatter, "Infer"),
427             #[cfg(feature = "full")]
428             Expr::Let(v0) => v0.debug(formatter, "Let"),
429             Expr::Lit(v0) => v0.debug(formatter, "Lit"),
430             #[cfg(feature = "full")]
431             Expr::Loop(v0) => v0.debug(formatter, "Loop"),
432             Expr::Macro(v0) => v0.debug(formatter, "Macro"),
433             #[cfg(feature = "full")]
434             Expr::Match(v0) => v0.debug(formatter, "Match"),
435             Expr::MethodCall(v0) => v0.debug(formatter, "MethodCall"),
436             Expr::Paren(v0) => v0.debug(formatter, "Paren"),
437             Expr::Path(v0) => v0.debug(formatter, "Path"),
438             #[cfg(feature = "full")]
439             Expr::Range(v0) => v0.debug(formatter, "Range"),
440             Expr::Reference(v0) => v0.debug(formatter, "Reference"),
441             #[cfg(feature = "full")]
442             Expr::Repeat(v0) => v0.debug(formatter, "Repeat"),
443             #[cfg(feature = "full")]
444             Expr::Return(v0) => v0.debug(formatter, "Return"),
445             Expr::Struct(v0) => v0.debug(formatter, "Struct"),
446             #[cfg(feature = "full")]
447             Expr::Try(v0) => v0.debug(formatter, "Try"),
448             #[cfg(feature = "full")]
449             Expr::TryBlock(v0) => v0.debug(formatter, "TryBlock"),
450             #[cfg(feature = "full")]
451             Expr::Tuple(v0) => v0.debug(formatter, "Tuple"),
452             Expr::Unary(v0) => v0.debug(formatter, "Unary"),
453             #[cfg(feature = "full")]
454             Expr::Unsafe(v0) => v0.debug(formatter, "Unsafe"),
455             Expr::Verbatim(v0) => {
456                 let mut formatter = formatter.debug_tuple("Verbatim");
457                 formatter.field(v0);
458                 formatter.finish()
459             }
460             #[cfg(feature = "full")]
461             Expr::While(v0) => v0.debug(formatter, "While"),
462             #[cfg(feature = "full")]
463             Expr::Yield(v0) => v0.debug(formatter, "Yield"),
464             #[cfg(not(feature = "full"))]
465             _ => unreachable!(),
466         }
467     }
468 }
469 #[cfg(feature = "full")]
470 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
471 impl Debug for ExprArray {
fmtnull472     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
473         impl ExprArray {
474             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
475                 let mut formatter = formatter.debug_struct(name);
476                 formatter.field("attrs", &self.attrs);
477                 formatter.field("bracket_token", &self.bracket_token);
478                 formatter.field("elems", &self.elems);
479                 formatter.finish()
480             }
481         }
482         self.debug(formatter, "ExprArray")
483     }
484 }
485 #[cfg(feature = "full")]
486 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
487 impl Debug for ExprAssign {
fmtnull488     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
489         impl ExprAssign {
490             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
491                 let mut formatter = formatter.debug_struct(name);
492                 formatter.field("attrs", &self.attrs);
493                 formatter.field("left", &self.left);
494                 formatter.field("eq_token", &self.eq_token);
495                 formatter.field("right", &self.right);
496                 formatter.finish()
497             }
498         }
499         self.debug(formatter, "ExprAssign")
500     }
501 }
502 #[cfg(feature = "full")]
503 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
504 impl Debug for ExprAsync {
fmtnull505     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
506         impl ExprAsync {
507             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
508                 let mut formatter = formatter.debug_struct(name);
509                 formatter.field("attrs", &self.attrs);
510                 formatter.field("async_token", &self.async_token);
511                 formatter.field("capture", &self.capture);
512                 formatter.field("block", &self.block);
513                 formatter.finish()
514             }
515         }
516         self.debug(formatter, "ExprAsync")
517     }
518 }
519 #[cfg(feature = "full")]
520 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
521 impl Debug for ExprAwait {
fmtnull522     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
523         impl ExprAwait {
524             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
525                 let mut formatter = formatter.debug_struct(name);
526                 formatter.field("attrs", &self.attrs);
527                 formatter.field("base", &self.base);
528                 formatter.field("dot_token", &self.dot_token);
529                 formatter.field("await_token", &self.await_token);
530                 formatter.finish()
531             }
532         }
533         self.debug(formatter, "ExprAwait")
534     }
535 }
536 #[cfg(any(feature = "derive", feature = "full"))]
537 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
538 impl Debug for ExprBinary {
fmtnull539     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
540         impl ExprBinary {
541             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
542                 let mut formatter = formatter.debug_struct(name);
543                 formatter.field("attrs", &self.attrs);
544                 formatter.field("left", &self.left);
545                 formatter.field("op", &self.op);
546                 formatter.field("right", &self.right);
547                 formatter.finish()
548             }
549         }
550         self.debug(formatter, "ExprBinary")
551     }
552 }
553 #[cfg(feature = "full")]
554 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
555 impl Debug for ExprBlock {
fmtnull556     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
557         impl ExprBlock {
558             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
559                 let mut formatter = formatter.debug_struct(name);
560                 formatter.field("attrs", &self.attrs);
561                 formatter.field("label", &self.label);
562                 formatter.field("block", &self.block);
563                 formatter.finish()
564             }
565         }
566         self.debug(formatter, "ExprBlock")
567     }
568 }
569 #[cfg(feature = "full")]
570 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
571 impl Debug for ExprBreak {
fmtnull572     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
573         impl ExprBreak {
574             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
575                 let mut formatter = formatter.debug_struct(name);
576                 formatter.field("attrs", &self.attrs);
577                 formatter.field("break_token", &self.break_token);
578                 formatter.field("label", &self.label);
579                 formatter.field("expr", &self.expr);
580                 formatter.finish()
581             }
582         }
583         self.debug(formatter, "ExprBreak")
584     }
585 }
586 #[cfg(any(feature = "derive", feature = "full"))]
587 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
588 impl Debug for ExprCall {
fmtnull589     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
590         impl ExprCall {
591             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
592                 let mut formatter = formatter.debug_struct(name);
593                 formatter.field("attrs", &self.attrs);
594                 formatter.field("func", &self.func);
595                 formatter.field("paren_token", &self.paren_token);
596                 formatter.field("args", &self.args);
597                 formatter.finish()
598             }
599         }
600         self.debug(formatter, "ExprCall")
601     }
602 }
603 #[cfg(any(feature = "derive", feature = "full"))]
604 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
605 impl Debug for ExprCast {
fmtnull606     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
607         impl ExprCast {
608             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
609                 let mut formatter = formatter.debug_struct(name);
610                 formatter.field("attrs", &self.attrs);
611                 formatter.field("expr", &self.expr);
612                 formatter.field("as_token", &self.as_token);
613                 formatter.field("ty", &self.ty);
614                 formatter.finish()
615             }
616         }
617         self.debug(formatter, "ExprCast")
618     }
619 }
620 #[cfg(feature = "full")]
621 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
622 impl Debug for ExprClosure {
fmtnull623     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
624         impl ExprClosure {
625             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
626                 let mut formatter = formatter.debug_struct(name);
627                 formatter.field("attrs", &self.attrs);
628                 formatter.field("lifetimes", &self.lifetimes);
629                 formatter.field("constness", &self.constness);
630                 formatter.field("movability", &self.movability);
631                 formatter.field("asyncness", &self.asyncness);
632                 formatter.field("capture", &self.capture);
633                 formatter.field("or1_token", &self.or1_token);
634                 formatter.field("inputs", &self.inputs);
635                 formatter.field("or2_token", &self.or2_token);
636                 formatter.field("output", &self.output);
637                 formatter.field("body", &self.body);
638                 formatter.finish()
639             }
640         }
641         self.debug(formatter, "ExprClosure")
642     }
643 }
644 #[cfg(feature = "full")]
645 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
646 impl Debug for ExprConst {
fmtnull647     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
648         impl ExprConst {
649             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
650                 let mut formatter = formatter.debug_struct(name);
651                 formatter.field("attrs", &self.attrs);
652                 formatter.field("const_token", &self.const_token);
653                 formatter.field("block", &self.block);
654                 formatter.finish()
655             }
656         }
657         self.debug(formatter, "ExprConst")
658     }
659 }
660 #[cfg(feature = "full")]
661 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
662 impl Debug for ExprContinue {
fmtnull663     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
664         impl ExprContinue {
665             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
666                 let mut formatter = formatter.debug_struct(name);
667                 formatter.field("attrs", &self.attrs);
668                 formatter.field("continue_token", &self.continue_token);
669                 formatter.field("label", &self.label);
670                 formatter.finish()
671             }
672         }
673         self.debug(formatter, "ExprContinue")
674     }
675 }
676 #[cfg(any(feature = "derive", feature = "full"))]
677 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
678 impl Debug for ExprField {
fmtnull679     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
680         impl ExprField {
681             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
682                 let mut formatter = formatter.debug_struct(name);
683                 formatter.field("attrs", &self.attrs);
684                 formatter.field("base", &self.base);
685                 formatter.field("dot_token", &self.dot_token);
686                 formatter.field("member", &self.member);
687                 formatter.finish()
688             }
689         }
690         self.debug(formatter, "ExprField")
691     }
692 }
693 #[cfg(feature = "full")]
694 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
695 impl Debug for ExprForLoop {
fmtnull696     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
697         impl ExprForLoop {
698             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
699                 let mut formatter = formatter.debug_struct(name);
700                 formatter.field("attrs", &self.attrs);
701                 formatter.field("label", &self.label);
702                 formatter.field("for_token", &self.for_token);
703                 formatter.field("pat", &self.pat);
704                 formatter.field("in_token", &self.in_token);
705                 formatter.field("expr", &self.expr);
706                 formatter.field("body", &self.body);
707                 formatter.finish()
708             }
709         }
710         self.debug(formatter, "ExprForLoop")
711     }
712 }
713 #[cfg(any(feature = "derive", feature = "full"))]
714 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
715 impl Debug for ExprGroup {
fmtnull716     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
717         impl ExprGroup {
718             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
719                 let mut formatter = formatter.debug_struct(name);
720                 formatter.field("attrs", &self.attrs);
721                 formatter.field("group_token", &self.group_token);
722                 formatter.field("expr", &self.expr);
723                 formatter.finish()
724             }
725         }
726         self.debug(formatter, "ExprGroup")
727     }
728 }
729 #[cfg(feature = "full")]
730 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
731 impl Debug for ExprIf {
fmtnull732     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
733         impl ExprIf {
734             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
735                 let mut formatter = formatter.debug_struct(name);
736                 formatter.field("attrs", &self.attrs);
737                 formatter.field("if_token", &self.if_token);
738                 formatter.field("cond", &self.cond);
739                 formatter.field("then_branch", &self.then_branch);
740                 formatter.field("else_branch", &self.else_branch);
741                 formatter.finish()
742             }
743         }
744         self.debug(formatter, "ExprIf")
745     }
746 }
747 #[cfg(any(feature = "derive", feature = "full"))]
748 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
749 impl Debug for ExprIndex {
fmtnull750     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
751         impl ExprIndex {
752             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
753                 let mut formatter = formatter.debug_struct(name);
754                 formatter.field("attrs", &self.attrs);
755                 formatter.field("expr", &self.expr);
756                 formatter.field("bracket_token", &self.bracket_token);
757                 formatter.field("index", &self.index);
758                 formatter.finish()
759             }
760         }
761         self.debug(formatter, "ExprIndex")
762     }
763 }
764 #[cfg(feature = "full")]
765 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
766 impl Debug for ExprInfer {
fmtnull767     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
768         impl ExprInfer {
769             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
770                 let mut formatter = formatter.debug_struct(name);
771                 formatter.field("attrs", &self.attrs);
772                 formatter.field("underscore_token", &self.underscore_token);
773                 formatter.finish()
774             }
775         }
776         self.debug(formatter, "ExprInfer")
777     }
778 }
779 #[cfg(feature = "full")]
780 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
781 impl Debug for ExprLet {
fmtnull782     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
783         impl ExprLet {
784             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
785                 let mut formatter = formatter.debug_struct(name);
786                 formatter.field("attrs", &self.attrs);
787                 formatter.field("let_token", &self.let_token);
788                 formatter.field("pat", &self.pat);
789                 formatter.field("eq_token", &self.eq_token);
790                 formatter.field("expr", &self.expr);
791                 formatter.finish()
792             }
793         }
794         self.debug(formatter, "ExprLet")
795     }
796 }
797 #[cfg(any(feature = "derive", feature = "full"))]
798 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
799 impl Debug for ExprLit {
fmtnull800     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
801         impl ExprLit {
802             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
803                 let mut formatter = formatter.debug_struct(name);
804                 formatter.field("attrs", &self.attrs);
805                 formatter.field("lit", &self.lit);
806                 formatter.finish()
807             }
808         }
809         self.debug(formatter, "ExprLit")
810     }
811 }
812 #[cfg(feature = "full")]
813 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
814 impl Debug for ExprLoop {
fmtnull815     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
816         impl ExprLoop {
817             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
818                 let mut formatter = formatter.debug_struct(name);
819                 formatter.field("attrs", &self.attrs);
820                 formatter.field("label", &self.label);
821                 formatter.field("loop_token", &self.loop_token);
822                 formatter.field("body", &self.body);
823                 formatter.finish()
824             }
825         }
826         self.debug(formatter, "ExprLoop")
827     }
828 }
829 #[cfg(any(feature = "derive", feature = "full"))]
830 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
831 impl Debug for ExprMacro {
fmtnull832     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
833         impl ExprMacro {
834             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
835                 let mut formatter = formatter.debug_struct(name);
836                 formatter.field("attrs", &self.attrs);
837                 formatter.field("mac", &self.mac);
838                 formatter.finish()
839             }
840         }
841         self.debug(formatter, "ExprMacro")
842     }
843 }
844 #[cfg(feature = "full")]
845 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
846 impl Debug for ExprMatch {
fmtnull847     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
848         impl ExprMatch {
849             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
850                 let mut formatter = formatter.debug_struct(name);
851                 formatter.field("attrs", &self.attrs);
852                 formatter.field("match_token", &self.match_token);
853                 formatter.field("expr", &self.expr);
854                 formatter.field("brace_token", &self.brace_token);
855                 formatter.field("arms", &self.arms);
856                 formatter.finish()
857             }
858         }
859         self.debug(formatter, "ExprMatch")
860     }
861 }
862 #[cfg(any(feature = "derive", feature = "full"))]
863 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
864 impl Debug for ExprMethodCall {
fmtnull865     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
866         impl ExprMethodCall {
867             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
868                 let mut formatter = formatter.debug_struct(name);
869                 formatter.field("attrs", &self.attrs);
870                 formatter.field("receiver", &self.receiver);
871                 formatter.field("dot_token", &self.dot_token);
872                 formatter.field("method", &self.method);
873                 formatter.field("turbofish", &self.turbofish);
874                 formatter.field("paren_token", &self.paren_token);
875                 formatter.field("args", &self.args);
876                 formatter.finish()
877             }
878         }
879         self.debug(formatter, "ExprMethodCall")
880     }
881 }
882 #[cfg(any(feature = "derive", feature = "full"))]
883 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
884 impl Debug for ExprParen {
fmtnull885     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
886         impl ExprParen {
887             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
888                 let mut formatter = formatter.debug_struct(name);
889                 formatter.field("attrs", &self.attrs);
890                 formatter.field("paren_token", &self.paren_token);
891                 formatter.field("expr", &self.expr);
892                 formatter.finish()
893             }
894         }
895         self.debug(formatter, "ExprParen")
896     }
897 }
898 #[cfg(any(feature = "derive", feature = "full"))]
899 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
900 impl Debug for ExprPath {
fmtnull901     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
902         impl ExprPath {
903             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
904                 let mut formatter = formatter.debug_struct(name);
905                 formatter.field("attrs", &self.attrs);
906                 formatter.field("qself", &self.qself);
907                 formatter.field("path", &self.path);
908                 formatter.finish()
909             }
910         }
911         self.debug(formatter, "ExprPath")
912     }
913 }
914 #[cfg(feature = "full")]
915 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
916 impl Debug for ExprRange {
fmtnull917     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
918         impl ExprRange {
919             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
920                 let mut formatter = formatter.debug_struct(name);
921                 formatter.field("attrs", &self.attrs);
922                 formatter.field("start", &self.start);
923                 formatter.field("limits", &self.limits);
924                 formatter.field("end", &self.end);
925                 formatter.finish()
926             }
927         }
928         self.debug(formatter, "ExprRange")
929     }
930 }
931 #[cfg(any(feature = "derive", feature = "full"))]
932 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
933 impl Debug for ExprReference {
fmtnull934     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
935         impl ExprReference {
936             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
937                 let mut formatter = formatter.debug_struct(name);
938                 formatter.field("attrs", &self.attrs);
939                 formatter.field("and_token", &self.and_token);
940                 formatter.field("mutability", &self.mutability);
941                 formatter.field("expr", &self.expr);
942                 formatter.finish()
943             }
944         }
945         self.debug(formatter, "ExprReference")
946     }
947 }
948 #[cfg(feature = "full")]
949 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
950 impl Debug for ExprRepeat {
fmtnull951     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
952         impl ExprRepeat {
953             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
954                 let mut formatter = formatter.debug_struct(name);
955                 formatter.field("attrs", &self.attrs);
956                 formatter.field("bracket_token", &self.bracket_token);
957                 formatter.field("expr", &self.expr);
958                 formatter.field("semi_token", &self.semi_token);
959                 formatter.field("len", &self.len);
960                 formatter.finish()
961             }
962         }
963         self.debug(formatter, "ExprRepeat")
964     }
965 }
966 #[cfg(feature = "full")]
967 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
968 impl Debug for ExprReturn {
fmtnull969     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
970         impl ExprReturn {
971             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
972                 let mut formatter = formatter.debug_struct(name);
973                 formatter.field("attrs", &self.attrs);
974                 formatter.field("return_token", &self.return_token);
975                 formatter.field("expr", &self.expr);
976                 formatter.finish()
977             }
978         }
979         self.debug(formatter, "ExprReturn")
980     }
981 }
982 #[cfg(any(feature = "derive", feature = "full"))]
983 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
984 impl Debug for ExprStruct {
fmtnull985     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
986         impl ExprStruct {
987             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
988                 let mut formatter = formatter.debug_struct(name);
989                 formatter.field("attrs", &self.attrs);
990                 formatter.field("qself", &self.qself);
991                 formatter.field("path", &self.path);
992                 formatter.field("brace_token", &self.brace_token);
993                 formatter.field("fields", &self.fields);
994                 formatter.field("dot2_token", &self.dot2_token);
995                 formatter.field("rest", &self.rest);
996                 formatter.finish()
997             }
998         }
999         self.debug(formatter, "ExprStruct")
1000     }
1001 }
1002 #[cfg(feature = "full")]
1003 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1004 impl Debug for ExprTry {
fmtnull1005     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1006         impl ExprTry {
1007             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1008                 let mut formatter = formatter.debug_struct(name);
1009                 formatter.field("attrs", &self.attrs);
1010                 formatter.field("expr", &self.expr);
1011                 formatter.field("question_token", &self.question_token);
1012                 formatter.finish()
1013             }
1014         }
1015         self.debug(formatter, "ExprTry")
1016     }
1017 }
1018 #[cfg(feature = "full")]
1019 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1020 impl Debug for ExprTryBlock {
fmtnull1021     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1022         impl ExprTryBlock {
1023             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1024                 let mut formatter = formatter.debug_struct(name);
1025                 formatter.field("attrs", &self.attrs);
1026                 formatter.field("try_token", &self.try_token);
1027                 formatter.field("block", &self.block);
1028                 formatter.finish()
1029             }
1030         }
1031         self.debug(formatter, "ExprTryBlock")
1032     }
1033 }
1034 #[cfg(feature = "full")]
1035 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1036 impl Debug for ExprTuple {
fmtnull1037     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1038         impl ExprTuple {
1039             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1040                 let mut formatter = formatter.debug_struct(name);
1041                 formatter.field("attrs", &self.attrs);
1042                 formatter.field("paren_token", &self.paren_token);
1043                 formatter.field("elems", &self.elems);
1044                 formatter.finish()
1045             }
1046         }
1047         self.debug(formatter, "ExprTuple")
1048     }
1049 }
1050 #[cfg(any(feature = "derive", feature = "full"))]
1051 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1052 impl Debug for ExprUnary {
fmtnull1053     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1054         impl ExprUnary {
1055             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1056                 let mut formatter = formatter.debug_struct(name);
1057                 formatter.field("attrs", &self.attrs);
1058                 formatter.field("op", &self.op);
1059                 formatter.field("expr", &self.expr);
1060                 formatter.finish()
1061             }
1062         }
1063         self.debug(formatter, "ExprUnary")
1064     }
1065 }
1066 #[cfg(feature = "full")]
1067 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1068 impl Debug for ExprUnsafe {
fmtnull1069     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1070         impl ExprUnsafe {
1071             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1072                 let mut formatter = formatter.debug_struct(name);
1073                 formatter.field("attrs", &self.attrs);
1074                 formatter.field("unsafe_token", &self.unsafe_token);
1075                 formatter.field("block", &self.block);
1076                 formatter.finish()
1077             }
1078         }
1079         self.debug(formatter, "ExprUnsafe")
1080     }
1081 }
1082 #[cfg(feature = "full")]
1083 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1084 impl Debug for ExprWhile {
fmtnull1085     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1086         impl ExprWhile {
1087             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1088                 let mut formatter = formatter.debug_struct(name);
1089                 formatter.field("attrs", &self.attrs);
1090                 formatter.field("label", &self.label);
1091                 formatter.field("while_token", &self.while_token);
1092                 formatter.field("cond", &self.cond);
1093                 formatter.field("body", &self.body);
1094                 formatter.finish()
1095             }
1096         }
1097         self.debug(formatter, "ExprWhile")
1098     }
1099 }
1100 #[cfg(feature = "full")]
1101 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1102 impl Debug for ExprYield {
fmtnull1103     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1104         impl ExprYield {
1105             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1106                 let mut formatter = formatter.debug_struct(name);
1107                 formatter.field("attrs", &self.attrs);
1108                 formatter.field("yield_token", &self.yield_token);
1109                 formatter.field("expr", &self.expr);
1110                 formatter.finish()
1111             }
1112         }
1113         self.debug(formatter, "ExprYield")
1114     }
1115 }
1116 #[cfg(any(feature = "derive", feature = "full"))]
1117 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1118 impl Debug for Field {
fmtnull1119     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1120         let mut formatter = formatter.debug_struct("Field");
1121         formatter.field("attrs", &self.attrs);
1122         formatter.field("vis", &self.vis);
1123         formatter.field("mutability", &self.mutability);
1124         formatter.field("ident", &self.ident);
1125         formatter.field("colon_token", &self.colon_token);
1126         formatter.field("ty", &self.ty);
1127         formatter.finish()
1128     }
1129 }
1130 #[cfg(any(feature = "derive", feature = "full"))]
1131 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1132 impl Debug for FieldMutability {
fmtnull1133     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1134         formatter.write_str("FieldMutability::")?;
1135         match self {
1136             FieldMutability::None => formatter.write_str("None"),
1137         }
1138     }
1139 }
1140 #[cfg(feature = "full")]
1141 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1142 impl Debug for FieldPat {
fmtnull1143     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1144         let mut formatter = formatter.debug_struct("FieldPat");
1145         formatter.field("attrs", &self.attrs);
1146         formatter.field("member", &self.member);
1147         formatter.field("colon_token", &self.colon_token);
1148         formatter.field("pat", &self.pat);
1149         formatter.finish()
1150     }
1151 }
1152 #[cfg(any(feature = "derive", feature = "full"))]
1153 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1154 impl Debug for FieldValue {
fmtnull1155     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1156         let mut formatter = formatter.debug_struct("FieldValue");
1157         formatter.field("attrs", &self.attrs);
1158         formatter.field("member", &self.member);
1159         formatter.field("colon_token", &self.colon_token);
1160         formatter.field("expr", &self.expr);
1161         formatter.finish()
1162     }
1163 }
1164 #[cfg(any(feature = "derive", feature = "full"))]
1165 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1166 impl Debug for Fields {
fmtnull1167     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1168         formatter.write_str("Fields::")?;
1169         match self {
1170             Fields::Named(v0) => v0.debug(formatter, "Named"),
1171             Fields::Unnamed(v0) => v0.debug(formatter, "Unnamed"),
1172             Fields::Unit => formatter.write_str("Unit"),
1173         }
1174     }
1175 }
1176 #[cfg(any(feature = "derive", feature = "full"))]
1177 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1178 impl Debug for FieldsNamed {
fmtnull1179     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1180         impl FieldsNamed {
1181             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1182                 let mut formatter = formatter.debug_struct(name);
1183                 formatter.field("brace_token", &self.brace_token);
1184                 formatter.field("named", &self.named);
1185                 formatter.finish()
1186             }
1187         }
1188         self.debug(formatter, "FieldsNamed")
1189     }
1190 }
1191 #[cfg(any(feature = "derive", feature = "full"))]
1192 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1193 impl Debug for FieldsUnnamed {
fmtnull1194     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1195         impl FieldsUnnamed {
1196             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1197                 let mut formatter = formatter.debug_struct(name);
1198                 formatter.field("paren_token", &self.paren_token);
1199                 formatter.field("unnamed", &self.unnamed);
1200                 formatter.finish()
1201             }
1202         }
1203         self.debug(formatter, "FieldsUnnamed")
1204     }
1205 }
1206 #[cfg(feature = "full")]
1207 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1208 impl Debug for File {
fmtnull1209     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1210         let mut formatter = formatter.debug_struct("File");
1211         formatter.field("shebang", &self.shebang);
1212         formatter.field("attrs", &self.attrs);
1213         formatter.field("items", &self.items);
1214         formatter.finish()
1215     }
1216 }
1217 #[cfg(feature = "full")]
1218 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1219 impl Debug for FnArg {
fmtnull1220     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1221         formatter.write_str("FnArg::")?;
1222         match self {
1223             FnArg::Receiver(v0) => {
1224                 let mut formatter = formatter.debug_tuple("Receiver");
1225                 formatter.field(v0);
1226                 formatter.finish()
1227             }
1228             FnArg::Typed(v0) => {
1229                 let mut formatter = formatter.debug_tuple("Typed");
1230                 formatter.field(v0);
1231                 formatter.finish()
1232             }
1233         }
1234     }
1235 }
1236 #[cfg(feature = "full")]
1237 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1238 impl Debug for ForeignItem {
fmtnull1239     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1240         formatter.write_str("ForeignItem::")?;
1241         match self {
1242             ForeignItem::Fn(v0) => v0.debug(formatter, "Fn"),
1243             ForeignItem::Static(v0) => v0.debug(formatter, "Static"),
1244             ForeignItem::Type(v0) => v0.debug(formatter, "Type"),
1245             ForeignItem::Macro(v0) => v0.debug(formatter, "Macro"),
1246             ForeignItem::Verbatim(v0) => {
1247                 let mut formatter = formatter.debug_tuple("Verbatim");
1248                 formatter.field(v0);
1249                 formatter.finish()
1250             }
1251         }
1252     }
1253 }
1254 #[cfg(feature = "full")]
1255 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1256 impl Debug for ForeignItemFn {
fmtnull1257     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1258         impl ForeignItemFn {
1259             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1260                 let mut formatter = formatter.debug_struct(name);
1261                 formatter.field("attrs", &self.attrs);
1262                 formatter.field("vis", &self.vis);
1263                 formatter.field("sig", &self.sig);
1264                 formatter.field("semi_token", &self.semi_token);
1265                 formatter.finish()
1266             }
1267         }
1268         self.debug(formatter, "ForeignItemFn")
1269     }
1270 }
1271 #[cfg(feature = "full")]
1272 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1273 impl Debug for ForeignItemMacro {
fmtnull1274     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1275         impl ForeignItemMacro {
1276             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1277                 let mut formatter = formatter.debug_struct(name);
1278                 formatter.field("attrs", &self.attrs);
1279                 formatter.field("mac", &self.mac);
1280                 formatter.field("semi_token", &self.semi_token);
1281                 formatter.finish()
1282             }
1283         }
1284         self.debug(formatter, "ForeignItemMacro")
1285     }
1286 }
1287 #[cfg(feature = "full")]
1288 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1289 impl Debug for ForeignItemStatic {
fmtnull1290     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1291         impl ForeignItemStatic {
1292             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1293                 let mut formatter = formatter.debug_struct(name);
1294                 formatter.field("attrs", &self.attrs);
1295                 formatter.field("vis", &self.vis);
1296                 formatter.field("static_token", &self.static_token);
1297                 formatter.field("mutability", &self.mutability);
1298                 formatter.field("ident", &self.ident);
1299                 formatter.field("colon_token", &self.colon_token);
1300                 formatter.field("ty", &self.ty);
1301                 formatter.field("semi_token", &self.semi_token);
1302                 formatter.finish()
1303             }
1304         }
1305         self.debug(formatter, "ForeignItemStatic")
1306     }
1307 }
1308 #[cfg(feature = "full")]
1309 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1310 impl Debug for ForeignItemType {
fmtnull1311     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1312         impl ForeignItemType {
1313             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1314                 let mut formatter = formatter.debug_struct(name);
1315                 formatter.field("attrs", &self.attrs);
1316                 formatter.field("vis", &self.vis);
1317                 formatter.field("type_token", &self.type_token);
1318                 formatter.field("ident", &self.ident);
1319                 formatter.field("generics", &self.generics);
1320                 formatter.field("semi_token", &self.semi_token);
1321                 formatter.finish()
1322             }
1323         }
1324         self.debug(formatter, "ForeignItemType")
1325     }
1326 }
1327 #[cfg(any(feature = "derive", feature = "full"))]
1328 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1329 impl Debug for GenericArgument {
fmtnull1330     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1331         formatter.write_str("GenericArgument::")?;
1332         match self {
1333             GenericArgument::Lifetime(v0) => {
1334                 let mut formatter = formatter.debug_tuple("Lifetime");
1335                 formatter.field(v0);
1336                 formatter.finish()
1337             }
1338             GenericArgument::Type(v0) => {
1339                 let mut formatter = formatter.debug_tuple("Type");
1340                 formatter.field(v0);
1341                 formatter.finish()
1342             }
1343             GenericArgument::Const(v0) => {
1344                 let mut formatter = formatter.debug_tuple("Const");
1345                 formatter.field(v0);
1346                 formatter.finish()
1347             }
1348             GenericArgument::AssocType(v0) => {
1349                 let mut formatter = formatter.debug_tuple("AssocType");
1350                 formatter.field(v0);
1351                 formatter.finish()
1352             }
1353             GenericArgument::AssocConst(v0) => {
1354                 let mut formatter = formatter.debug_tuple("AssocConst");
1355                 formatter.field(v0);
1356                 formatter.finish()
1357             }
1358             GenericArgument::Constraint(v0) => {
1359                 let mut formatter = formatter.debug_tuple("Constraint");
1360                 formatter.field(v0);
1361                 formatter.finish()
1362             }
1363         }
1364     }
1365 }
1366 #[cfg(any(feature = "derive", feature = "full"))]
1367 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1368 impl Debug for GenericParam {
fmtnull1369     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1370         formatter.write_str("GenericParam::")?;
1371         match self {
1372             GenericParam::Lifetime(v0) => {
1373                 let mut formatter = formatter.debug_tuple("Lifetime");
1374                 formatter.field(v0);
1375                 formatter.finish()
1376             }
1377             GenericParam::Type(v0) => {
1378                 let mut formatter = formatter.debug_tuple("Type");
1379                 formatter.field(v0);
1380                 formatter.finish()
1381             }
1382             GenericParam::Const(v0) => {
1383                 let mut formatter = formatter.debug_tuple("Const");
1384                 formatter.field(v0);
1385                 formatter.finish()
1386             }
1387         }
1388     }
1389 }
1390 #[cfg(any(feature = "derive", feature = "full"))]
1391 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1392 impl Debug for Generics {
fmtnull1393     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1394         let mut formatter = formatter.debug_struct("Generics");
1395         formatter.field("lt_token", &self.lt_token);
1396         formatter.field("params", &self.params);
1397         formatter.field("gt_token", &self.gt_token);
1398         formatter.field("where_clause", &self.where_clause);
1399         formatter.finish()
1400     }
1401 }
1402 #[cfg(feature = "full")]
1403 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1404 impl Debug for ImplItem {
fmtnull1405     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1406         formatter.write_str("ImplItem::")?;
1407         match self {
1408             ImplItem::Const(v0) => v0.debug(formatter, "Const"),
1409             ImplItem::Fn(v0) => v0.debug(formatter, "Fn"),
1410             ImplItem::Type(v0) => v0.debug(formatter, "Type"),
1411             ImplItem::Macro(v0) => v0.debug(formatter, "Macro"),
1412             ImplItem::Verbatim(v0) => {
1413                 let mut formatter = formatter.debug_tuple("Verbatim");
1414                 formatter.field(v0);
1415                 formatter.finish()
1416             }
1417         }
1418     }
1419 }
1420 #[cfg(feature = "full")]
1421 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1422 impl Debug for ImplItemConst {
fmtnull1423     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1424         impl ImplItemConst {
1425             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1426                 let mut formatter = formatter.debug_struct(name);
1427                 formatter.field("attrs", &self.attrs);
1428                 formatter.field("vis", &self.vis);
1429                 formatter.field("defaultness", &self.defaultness);
1430                 formatter.field("const_token", &self.const_token);
1431                 formatter.field("ident", &self.ident);
1432                 formatter.field("generics", &self.generics);
1433                 formatter.field("colon_token", &self.colon_token);
1434                 formatter.field("ty", &self.ty);
1435                 formatter.field("eq_token", &self.eq_token);
1436                 formatter.field("expr", &self.expr);
1437                 formatter.field("semi_token", &self.semi_token);
1438                 formatter.finish()
1439             }
1440         }
1441         self.debug(formatter, "ImplItemConst")
1442     }
1443 }
1444 #[cfg(feature = "full")]
1445 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1446 impl Debug for ImplItemFn {
fmtnull1447     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1448         impl ImplItemFn {
1449             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1450                 let mut formatter = formatter.debug_struct(name);
1451                 formatter.field("attrs", &self.attrs);
1452                 formatter.field("vis", &self.vis);
1453                 formatter.field("defaultness", &self.defaultness);
1454                 formatter.field("sig", &self.sig);
1455                 formatter.field("block", &self.block);
1456                 formatter.finish()
1457             }
1458         }
1459         self.debug(formatter, "ImplItemFn")
1460     }
1461 }
1462 #[cfg(feature = "full")]
1463 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1464 impl Debug for ImplItemMacro {
fmtnull1465     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1466         impl ImplItemMacro {
1467             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1468                 let mut formatter = formatter.debug_struct(name);
1469                 formatter.field("attrs", &self.attrs);
1470                 formatter.field("mac", &self.mac);
1471                 formatter.field("semi_token", &self.semi_token);
1472                 formatter.finish()
1473             }
1474         }
1475         self.debug(formatter, "ImplItemMacro")
1476     }
1477 }
1478 #[cfg(feature = "full")]
1479 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1480 impl Debug for ImplItemType {
fmtnull1481     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1482         impl ImplItemType {
1483             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1484                 let mut formatter = formatter.debug_struct(name);
1485                 formatter.field("attrs", &self.attrs);
1486                 formatter.field("vis", &self.vis);
1487                 formatter.field("defaultness", &self.defaultness);
1488                 formatter.field("type_token", &self.type_token);
1489                 formatter.field("ident", &self.ident);
1490                 formatter.field("generics", &self.generics);
1491                 formatter.field("eq_token", &self.eq_token);
1492                 formatter.field("ty", &self.ty);
1493                 formatter.field("semi_token", &self.semi_token);
1494                 formatter.finish()
1495             }
1496         }
1497         self.debug(formatter, "ImplItemType")
1498     }
1499 }
1500 #[cfg(feature = "full")]
1501 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1502 impl Debug for ImplRestriction {
fmtnull1503     fn fmt(&self, _formatter: &mut fmt::Formatter) -> fmt::Result {
1504         match *self {}
1505     }
1506 }
1507 #[cfg(any(feature = "derive", feature = "full"))]
1508 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1509 impl Debug for Index {
fmtnull1510     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1511         let mut formatter = formatter.debug_struct("Index");
1512         formatter.field("index", &self.index);
1513         formatter.field("span", &self.span);
1514         formatter.finish()
1515     }
1516 }
1517 #[cfg(feature = "full")]
1518 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1519 impl Debug for Item {
fmtnull1520     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1521         formatter.write_str("Item::")?;
1522         match self {
1523             Item::Const(v0) => v0.debug(formatter, "Const"),
1524             Item::Enum(v0) => v0.debug(formatter, "Enum"),
1525             Item::ExternCrate(v0) => v0.debug(formatter, "ExternCrate"),
1526             Item::Fn(v0) => v0.debug(formatter, "Fn"),
1527             Item::ForeignMod(v0) => v0.debug(formatter, "ForeignMod"),
1528             Item::Impl(v0) => v0.debug(formatter, "Impl"),
1529             Item::Macro(v0) => v0.debug(formatter, "Macro"),
1530             Item::Mod(v0) => v0.debug(formatter, "Mod"),
1531             Item::Static(v0) => v0.debug(formatter, "Static"),
1532             Item::Struct(v0) => v0.debug(formatter, "Struct"),
1533             Item::Trait(v0) => v0.debug(formatter, "Trait"),
1534             Item::TraitAlias(v0) => v0.debug(formatter, "TraitAlias"),
1535             Item::Type(v0) => v0.debug(formatter, "Type"),
1536             Item::Union(v0) => v0.debug(formatter, "Union"),
1537             Item::Use(v0) => v0.debug(formatter, "Use"),
1538             Item::Verbatim(v0) => {
1539                 let mut formatter = formatter.debug_tuple("Verbatim");
1540                 formatter.field(v0);
1541                 formatter.finish()
1542             }
1543         }
1544     }
1545 }
1546 #[cfg(feature = "full")]
1547 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1548 impl Debug for ItemConst {
fmtnull1549     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1550         impl ItemConst {
1551             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1552                 let mut formatter = formatter.debug_struct(name);
1553                 formatter.field("attrs", &self.attrs);
1554                 formatter.field("vis", &self.vis);
1555                 formatter.field("const_token", &self.const_token);
1556                 formatter.field("ident", &self.ident);
1557                 formatter.field("generics", &self.generics);
1558                 formatter.field("colon_token", &self.colon_token);
1559                 formatter.field("ty", &self.ty);
1560                 formatter.field("eq_token", &self.eq_token);
1561                 formatter.field("expr", &self.expr);
1562                 formatter.field("semi_token", &self.semi_token);
1563                 formatter.finish()
1564             }
1565         }
1566         self.debug(formatter, "ItemConst")
1567     }
1568 }
1569 #[cfg(feature = "full")]
1570 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1571 impl Debug for ItemEnum {
fmtnull1572     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1573         impl ItemEnum {
1574             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1575                 let mut formatter = formatter.debug_struct(name);
1576                 formatter.field("attrs", &self.attrs);
1577                 formatter.field("vis", &self.vis);
1578                 formatter.field("enum_token", &self.enum_token);
1579                 formatter.field("ident", &self.ident);
1580                 formatter.field("generics", &self.generics);
1581                 formatter.field("brace_token", &self.brace_token);
1582                 formatter.field("variants", &self.variants);
1583                 formatter.finish()
1584             }
1585         }
1586         self.debug(formatter, "ItemEnum")
1587     }
1588 }
1589 #[cfg(feature = "full")]
1590 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1591 impl Debug for ItemExternCrate {
fmtnull1592     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1593         impl ItemExternCrate {
1594             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1595                 let mut formatter = formatter.debug_struct(name);
1596                 formatter.field("attrs", &self.attrs);
1597                 formatter.field("vis", &self.vis);
1598                 formatter.field("extern_token", &self.extern_token);
1599                 formatter.field("crate_token", &self.crate_token);
1600                 formatter.field("ident", &self.ident);
1601                 formatter.field("rename", &self.rename);
1602                 formatter.field("semi_token", &self.semi_token);
1603                 formatter.finish()
1604             }
1605         }
1606         self.debug(formatter, "ItemExternCrate")
1607     }
1608 }
1609 #[cfg(feature = "full")]
1610 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1611 impl Debug for ItemFn {
fmtnull1612     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1613         impl ItemFn {
1614             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1615                 let mut formatter = formatter.debug_struct(name);
1616                 formatter.field("attrs", &self.attrs);
1617                 formatter.field("vis", &self.vis);
1618                 formatter.field("sig", &self.sig);
1619                 formatter.field("block", &self.block);
1620                 formatter.finish()
1621             }
1622         }
1623         self.debug(formatter, "ItemFn")
1624     }
1625 }
1626 #[cfg(feature = "full")]
1627 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1628 impl Debug for ItemForeignMod {
fmtnull1629     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1630         impl ItemForeignMod {
1631             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1632                 let mut formatter = formatter.debug_struct(name);
1633                 formatter.field("attrs", &self.attrs);
1634                 formatter.field("unsafety", &self.unsafety);
1635                 formatter.field("abi", &self.abi);
1636                 formatter.field("brace_token", &self.brace_token);
1637                 formatter.field("items", &self.items);
1638                 formatter.finish()
1639             }
1640         }
1641         self.debug(formatter, "ItemForeignMod")
1642     }
1643 }
1644 #[cfg(feature = "full")]
1645 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1646 impl Debug for ItemImpl {
fmtnull1647     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1648         impl ItemImpl {
1649             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1650                 let mut formatter = formatter.debug_struct(name);
1651                 formatter.field("attrs", &self.attrs);
1652                 formatter.field("defaultness", &self.defaultness);
1653                 formatter.field("unsafety", &self.unsafety);
1654                 formatter.field("impl_token", &self.impl_token);
1655                 formatter.field("generics", &self.generics);
1656                 formatter.field("trait_", &self.trait_);
1657                 formatter.field("self_ty", &self.self_ty);
1658                 formatter.field("brace_token", &self.brace_token);
1659                 formatter.field("items", &self.items);
1660                 formatter.finish()
1661             }
1662         }
1663         self.debug(formatter, "ItemImpl")
1664     }
1665 }
1666 #[cfg(feature = "full")]
1667 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1668 impl Debug for ItemMacro {
fmtnull1669     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1670         impl ItemMacro {
1671             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1672                 let mut formatter = formatter.debug_struct(name);
1673                 formatter.field("attrs", &self.attrs);
1674                 formatter.field("ident", &self.ident);
1675                 formatter.field("mac", &self.mac);
1676                 formatter.field("semi_token", &self.semi_token);
1677                 formatter.finish()
1678             }
1679         }
1680         self.debug(formatter, "ItemMacro")
1681     }
1682 }
1683 #[cfg(feature = "full")]
1684 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1685 impl Debug for ItemMod {
fmtnull1686     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1687         impl ItemMod {
1688             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1689                 let mut formatter = formatter.debug_struct(name);
1690                 formatter.field("attrs", &self.attrs);
1691                 formatter.field("vis", &self.vis);
1692                 formatter.field("unsafety", &self.unsafety);
1693                 formatter.field("mod_token", &self.mod_token);
1694                 formatter.field("ident", &self.ident);
1695                 formatter.field("content", &self.content);
1696                 formatter.field("semi", &self.semi);
1697                 formatter.finish()
1698             }
1699         }
1700         self.debug(formatter, "ItemMod")
1701     }
1702 }
1703 #[cfg(feature = "full")]
1704 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1705 impl Debug for ItemStatic {
fmtnull1706     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1707         impl ItemStatic {
1708             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1709                 let mut formatter = formatter.debug_struct(name);
1710                 formatter.field("attrs", &self.attrs);
1711                 formatter.field("vis", &self.vis);
1712                 formatter.field("static_token", &self.static_token);
1713                 formatter.field("mutability", &self.mutability);
1714                 formatter.field("ident", &self.ident);
1715                 formatter.field("colon_token", &self.colon_token);
1716                 formatter.field("ty", &self.ty);
1717                 formatter.field("eq_token", &self.eq_token);
1718                 formatter.field("expr", &self.expr);
1719                 formatter.field("semi_token", &self.semi_token);
1720                 formatter.finish()
1721             }
1722         }
1723         self.debug(formatter, "ItemStatic")
1724     }
1725 }
1726 #[cfg(feature = "full")]
1727 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1728 impl Debug for ItemStruct {
fmtnull1729     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1730         impl ItemStruct {
1731             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1732                 let mut formatter = formatter.debug_struct(name);
1733                 formatter.field("attrs", &self.attrs);
1734                 formatter.field("vis", &self.vis);
1735                 formatter.field("struct_token", &self.struct_token);
1736                 formatter.field("ident", &self.ident);
1737                 formatter.field("generics", &self.generics);
1738                 formatter.field("fields", &self.fields);
1739                 formatter.field("semi_token", &self.semi_token);
1740                 formatter.finish()
1741             }
1742         }
1743         self.debug(formatter, "ItemStruct")
1744     }
1745 }
1746 #[cfg(feature = "full")]
1747 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1748 impl Debug for ItemTrait {
fmtnull1749     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1750         impl ItemTrait {
1751             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1752                 let mut formatter = formatter.debug_struct(name);
1753                 formatter.field("attrs", &self.attrs);
1754                 formatter.field("vis", &self.vis);
1755                 formatter.field("unsafety", &self.unsafety);
1756                 formatter.field("auto_token", &self.auto_token);
1757                 formatter.field("restriction", &self.restriction);
1758                 formatter.field("trait_token", &self.trait_token);
1759                 formatter.field("ident", &self.ident);
1760                 formatter.field("generics", &self.generics);
1761                 formatter.field("colon_token", &self.colon_token);
1762                 formatter.field("supertraits", &self.supertraits);
1763                 formatter.field("brace_token", &self.brace_token);
1764                 formatter.field("items", &self.items);
1765                 formatter.finish()
1766             }
1767         }
1768         self.debug(formatter, "ItemTrait")
1769     }
1770 }
1771 #[cfg(feature = "full")]
1772 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1773 impl Debug for ItemTraitAlias {
fmtnull1774     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1775         impl ItemTraitAlias {
1776             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1777                 let mut formatter = formatter.debug_struct(name);
1778                 formatter.field("attrs", &self.attrs);
1779                 formatter.field("vis", &self.vis);
1780                 formatter.field("trait_token", &self.trait_token);
1781                 formatter.field("ident", &self.ident);
1782                 formatter.field("generics", &self.generics);
1783                 formatter.field("eq_token", &self.eq_token);
1784                 formatter.field("bounds", &self.bounds);
1785                 formatter.field("semi_token", &self.semi_token);
1786                 formatter.finish()
1787             }
1788         }
1789         self.debug(formatter, "ItemTraitAlias")
1790     }
1791 }
1792 #[cfg(feature = "full")]
1793 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1794 impl Debug for ItemType {
fmtnull1795     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1796         impl ItemType {
1797             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1798                 let mut formatter = formatter.debug_struct(name);
1799                 formatter.field("attrs", &self.attrs);
1800                 formatter.field("vis", &self.vis);
1801                 formatter.field("type_token", &self.type_token);
1802                 formatter.field("ident", &self.ident);
1803                 formatter.field("generics", &self.generics);
1804                 formatter.field("eq_token", &self.eq_token);
1805                 formatter.field("ty", &self.ty);
1806                 formatter.field("semi_token", &self.semi_token);
1807                 formatter.finish()
1808             }
1809         }
1810         self.debug(formatter, "ItemType")
1811     }
1812 }
1813 #[cfg(feature = "full")]
1814 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1815 impl Debug for ItemUnion {
fmtnull1816     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1817         impl ItemUnion {
1818             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1819                 let mut formatter = formatter.debug_struct(name);
1820                 formatter.field("attrs", &self.attrs);
1821                 formatter.field("vis", &self.vis);
1822                 formatter.field("union_token", &self.union_token);
1823                 formatter.field("ident", &self.ident);
1824                 formatter.field("generics", &self.generics);
1825                 formatter.field("fields", &self.fields);
1826                 formatter.finish()
1827             }
1828         }
1829         self.debug(formatter, "ItemUnion")
1830     }
1831 }
1832 #[cfg(feature = "full")]
1833 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1834 impl Debug for ItemUse {
fmtnull1835     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1836         impl ItemUse {
1837             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1838                 let mut formatter = formatter.debug_struct(name);
1839                 formatter.field("attrs", &self.attrs);
1840                 formatter.field("vis", &self.vis);
1841                 formatter.field("use_token", &self.use_token);
1842                 formatter.field("leading_colon", &self.leading_colon);
1843                 formatter.field("tree", &self.tree);
1844                 formatter.field("semi_token", &self.semi_token);
1845                 formatter.finish()
1846             }
1847         }
1848         self.debug(formatter, "ItemUse")
1849     }
1850 }
1851 #[cfg(feature = "full")]
1852 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1853 impl Debug for Label {
fmtnull1854     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1855         let mut formatter = formatter.debug_struct("Label");
1856         formatter.field("name", &self.name);
1857         formatter.field("colon_token", &self.colon_token);
1858         formatter.finish()
1859     }
1860 }
1861 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1862 impl Debug for Lifetime {
fmtnull1863     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1864         impl Lifetime {
1865             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1866                 let mut formatter = formatter.debug_struct(name);
1867                 formatter.field("apostrophe", &self.apostrophe);
1868                 formatter.field("ident", &self.ident);
1869                 formatter.finish()
1870             }
1871         }
1872         self.debug(formatter, "Lifetime")
1873     }
1874 }
1875 #[cfg(any(feature = "derive", feature = "full"))]
1876 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1877 impl Debug for LifetimeParam {
fmtnull1878     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1879         let mut formatter = formatter.debug_struct("LifetimeParam");
1880         formatter.field("attrs", &self.attrs);
1881         formatter.field("lifetime", &self.lifetime);
1882         formatter.field("colon_token", &self.colon_token);
1883         formatter.field("bounds", &self.bounds);
1884         formatter.finish()
1885     }
1886 }
1887 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1888 impl Debug for Lit {
fmtnull1889     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1890         formatter.write_str("Lit::")?;
1891         match self {
1892             Lit::Str(v0) => v0.debug(formatter, "Str"),
1893             Lit::ByteStr(v0) => v0.debug(formatter, "ByteStr"),
1894             Lit::Byte(v0) => v0.debug(formatter, "Byte"),
1895             Lit::Char(v0) => v0.debug(formatter, "Char"),
1896             Lit::Int(v0) => v0.debug(formatter, "Int"),
1897             Lit::Float(v0) => v0.debug(formatter, "Float"),
1898             Lit::Bool(v0) => v0.debug(formatter, "Bool"),
1899             Lit::Verbatim(v0) => {
1900                 let mut formatter = formatter.debug_tuple("Verbatim");
1901                 formatter.field(v0);
1902                 formatter.finish()
1903             }
1904         }
1905     }
1906 }
1907 #[cfg(feature = "full")]
1908 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1909 impl Debug for Local {
fmtnull1910     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1911         impl Local {
1912             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
1913                 let mut formatter = formatter.debug_struct(name);
1914                 formatter.field("attrs", &self.attrs);
1915                 formatter.field("let_token", &self.let_token);
1916                 formatter.field("pat", &self.pat);
1917                 formatter.field("init", &self.init);
1918                 formatter.field("semi_token", &self.semi_token);
1919                 formatter.finish()
1920             }
1921         }
1922         self.debug(formatter, "Local")
1923     }
1924 }
1925 #[cfg(feature = "full")]
1926 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1927 impl Debug for LocalInit {
fmtnull1928     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1929         let mut formatter = formatter.debug_struct("LocalInit");
1930         formatter.field("eq_token", &self.eq_token);
1931         formatter.field("expr", &self.expr);
1932         formatter.field("diverge", &self.diverge);
1933         formatter.finish()
1934     }
1935 }
1936 #[cfg(any(feature = "derive", feature = "full"))]
1937 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1938 impl Debug for Macro {
fmtnull1939     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1940         let mut formatter = formatter.debug_struct("Macro");
1941         formatter.field("path", &self.path);
1942         formatter.field("bang_token", &self.bang_token);
1943         formatter.field("delimiter", &self.delimiter);
1944         formatter.field("tokens", &self.tokens);
1945         formatter.finish()
1946     }
1947 }
1948 #[cfg(any(feature = "derive", feature = "full"))]
1949 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1950 impl Debug for MacroDelimiter {
fmtnull1951     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1952         formatter.write_str("MacroDelimiter::")?;
1953         match self {
1954             MacroDelimiter::Paren(v0) => {
1955                 let mut formatter = formatter.debug_tuple("Paren");
1956                 formatter.field(v0);
1957                 formatter.finish()
1958             }
1959             MacroDelimiter::Brace(v0) => {
1960                 let mut formatter = formatter.debug_tuple("Brace");
1961                 formatter.field(v0);
1962                 formatter.finish()
1963             }
1964             MacroDelimiter::Bracket(v0) => {
1965                 let mut formatter = formatter.debug_tuple("Bracket");
1966                 formatter.field(v0);
1967                 formatter.finish()
1968             }
1969         }
1970     }
1971 }
1972 #[cfg(any(feature = "derive", feature = "full"))]
1973 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1974 impl Debug for Member {
fmtnull1975     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1976         formatter.write_str("Member::")?;
1977         match self {
1978             Member::Named(v0) => {
1979                 let mut formatter = formatter.debug_tuple("Named");
1980                 formatter.field(v0);
1981                 formatter.finish()
1982             }
1983             Member::Unnamed(v0) => {
1984                 let mut formatter = formatter.debug_tuple("Unnamed");
1985                 formatter.field(v0);
1986                 formatter.finish()
1987             }
1988         }
1989     }
1990 }
1991 #[cfg(any(feature = "derive", feature = "full"))]
1992 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
1993 impl Debug for Meta {
fmtnull1994     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
1995         formatter.write_str("Meta::")?;
1996         match self {
1997             Meta::Path(v0) => v0.debug(formatter, "Path"),
1998             Meta::List(v0) => v0.debug(formatter, "List"),
1999             Meta::NameValue(v0) => v0.debug(formatter, "NameValue"),
2000         }
2001     }
2002 }
2003 #[cfg(any(feature = "derive", feature = "full"))]
2004 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2005 impl Debug for MetaList {
fmtnull2006     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2007         impl MetaList {
2008             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2009                 let mut formatter = formatter.debug_struct(name);
2010                 formatter.field("path", &self.path);
2011                 formatter.field("delimiter", &self.delimiter);
2012                 formatter.field("tokens", &self.tokens);
2013                 formatter.finish()
2014             }
2015         }
2016         self.debug(formatter, "MetaList")
2017     }
2018 }
2019 #[cfg(any(feature = "derive", feature = "full"))]
2020 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2021 impl Debug for MetaNameValue {
fmtnull2022     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2023         impl MetaNameValue {
2024             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2025                 let mut formatter = formatter.debug_struct(name);
2026                 formatter.field("path", &self.path);
2027                 formatter.field("eq_token", &self.eq_token);
2028                 formatter.field("value", &self.value);
2029                 formatter.finish()
2030             }
2031         }
2032         self.debug(formatter, "MetaNameValue")
2033     }
2034 }
2035 #[cfg(any(feature = "derive", feature = "full"))]
2036 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2037 impl Debug for ParenthesizedGenericArguments {
fmtnull2038     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2039         impl ParenthesizedGenericArguments {
2040             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2041                 let mut formatter = formatter.debug_struct(name);
2042                 formatter.field("paren_token", &self.paren_token);
2043                 formatter.field("inputs", &self.inputs);
2044                 formatter.field("output", &self.output);
2045                 formatter.finish()
2046             }
2047         }
2048         self.debug(formatter, "ParenthesizedGenericArguments")
2049     }
2050 }
2051 #[cfg(feature = "full")]
2052 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2053 impl Debug for Pat {
fmtnull2054     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2055         formatter.write_str("Pat::")?;
2056         match self {
2057             Pat::Const(v0) => v0.debug(formatter, "Const"),
2058             Pat::Ident(v0) => v0.debug(formatter, "Ident"),
2059             Pat::Lit(v0) => v0.debug(formatter, "Lit"),
2060             Pat::Macro(v0) => v0.debug(formatter, "Macro"),
2061             Pat::Or(v0) => v0.debug(formatter, "Or"),
2062             Pat::Paren(v0) => v0.debug(formatter, "Paren"),
2063             Pat::Path(v0) => v0.debug(formatter, "Path"),
2064             Pat::Range(v0) => v0.debug(formatter, "Range"),
2065             Pat::Reference(v0) => v0.debug(formatter, "Reference"),
2066             Pat::Rest(v0) => v0.debug(formatter, "Rest"),
2067             Pat::Slice(v0) => v0.debug(formatter, "Slice"),
2068             Pat::Struct(v0) => v0.debug(formatter, "Struct"),
2069             Pat::Tuple(v0) => v0.debug(formatter, "Tuple"),
2070             Pat::TupleStruct(v0) => v0.debug(formatter, "TupleStruct"),
2071             Pat::Type(v0) => v0.debug(formatter, "Type"),
2072             Pat::Verbatim(v0) => {
2073                 let mut formatter = formatter.debug_tuple("Verbatim");
2074                 formatter.field(v0);
2075                 formatter.finish()
2076             }
2077             Pat::Wild(v0) => v0.debug(formatter, "Wild"),
2078         }
2079     }
2080 }
2081 #[cfg(feature = "full")]
2082 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2083 impl Debug for PatIdent {
fmtnull2084     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2085         impl PatIdent {
2086             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2087                 let mut formatter = formatter.debug_struct(name);
2088                 formatter.field("attrs", &self.attrs);
2089                 formatter.field("by_ref", &self.by_ref);
2090                 formatter.field("mutability", &self.mutability);
2091                 formatter.field("ident", &self.ident);
2092                 formatter.field("subpat", &self.subpat);
2093                 formatter.finish()
2094             }
2095         }
2096         self.debug(formatter, "PatIdent")
2097     }
2098 }
2099 #[cfg(feature = "full")]
2100 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2101 impl Debug for PatOr {
fmtnull2102     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2103         impl PatOr {
2104             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2105                 let mut formatter = formatter.debug_struct(name);
2106                 formatter.field("attrs", &self.attrs);
2107                 formatter.field("leading_vert", &self.leading_vert);
2108                 formatter.field("cases", &self.cases);
2109                 formatter.finish()
2110             }
2111         }
2112         self.debug(formatter, "PatOr")
2113     }
2114 }
2115 #[cfg(feature = "full")]
2116 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2117 impl Debug for PatParen {
fmtnull2118     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2119         impl PatParen {
2120             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2121                 let mut formatter = formatter.debug_struct(name);
2122                 formatter.field("attrs", &self.attrs);
2123                 formatter.field("paren_token", &self.paren_token);
2124                 formatter.field("pat", &self.pat);
2125                 formatter.finish()
2126             }
2127         }
2128         self.debug(formatter, "PatParen")
2129     }
2130 }
2131 #[cfg(feature = "full")]
2132 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2133 impl Debug for PatReference {
fmtnull2134     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2135         impl PatReference {
2136             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2137                 let mut formatter = formatter.debug_struct(name);
2138                 formatter.field("attrs", &self.attrs);
2139                 formatter.field("and_token", &self.and_token);
2140                 formatter.field("mutability", &self.mutability);
2141                 formatter.field("pat", &self.pat);
2142                 formatter.finish()
2143             }
2144         }
2145         self.debug(formatter, "PatReference")
2146     }
2147 }
2148 #[cfg(feature = "full")]
2149 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2150 impl Debug for PatRest {
fmtnull2151     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2152         impl PatRest {
2153             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2154                 let mut formatter = formatter.debug_struct(name);
2155                 formatter.field("attrs", &self.attrs);
2156                 formatter.field("dot2_token", &self.dot2_token);
2157                 formatter.finish()
2158             }
2159         }
2160         self.debug(formatter, "PatRest")
2161     }
2162 }
2163 #[cfg(feature = "full")]
2164 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2165 impl Debug for PatSlice {
fmtnull2166     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2167         impl PatSlice {
2168             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2169                 let mut formatter = formatter.debug_struct(name);
2170                 formatter.field("attrs", &self.attrs);
2171                 formatter.field("bracket_token", &self.bracket_token);
2172                 formatter.field("elems", &self.elems);
2173                 formatter.finish()
2174             }
2175         }
2176         self.debug(formatter, "PatSlice")
2177     }
2178 }
2179 #[cfg(feature = "full")]
2180 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2181 impl Debug for PatStruct {
fmtnull2182     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2183         impl PatStruct {
2184             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2185                 let mut formatter = formatter.debug_struct(name);
2186                 formatter.field("attrs", &self.attrs);
2187                 formatter.field("qself", &self.qself);
2188                 formatter.field("path", &self.path);
2189                 formatter.field("brace_token", &self.brace_token);
2190                 formatter.field("fields", &self.fields);
2191                 formatter.field("rest", &self.rest);
2192                 formatter.finish()
2193             }
2194         }
2195         self.debug(formatter, "PatStruct")
2196     }
2197 }
2198 #[cfg(feature = "full")]
2199 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2200 impl Debug for PatTuple {
fmtnull2201     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2202         impl PatTuple {
2203             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2204                 let mut formatter = formatter.debug_struct(name);
2205                 formatter.field("attrs", &self.attrs);
2206                 formatter.field("paren_token", &self.paren_token);
2207                 formatter.field("elems", &self.elems);
2208                 formatter.finish()
2209             }
2210         }
2211         self.debug(formatter, "PatTuple")
2212     }
2213 }
2214 #[cfg(feature = "full")]
2215 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2216 impl Debug for PatTupleStruct {
fmtnull2217     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2218         impl PatTupleStruct {
2219             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2220                 let mut formatter = formatter.debug_struct(name);
2221                 formatter.field("attrs", &self.attrs);
2222                 formatter.field("qself", &self.qself);
2223                 formatter.field("path", &self.path);
2224                 formatter.field("paren_token", &self.paren_token);
2225                 formatter.field("elems", &self.elems);
2226                 formatter.finish()
2227             }
2228         }
2229         self.debug(formatter, "PatTupleStruct")
2230     }
2231 }
2232 #[cfg(feature = "full")]
2233 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2234 impl Debug for PatType {
fmtnull2235     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2236         impl PatType {
2237             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2238                 let mut formatter = formatter.debug_struct(name);
2239                 formatter.field("attrs", &self.attrs);
2240                 formatter.field("pat", &self.pat);
2241                 formatter.field("colon_token", &self.colon_token);
2242                 formatter.field("ty", &self.ty);
2243                 formatter.finish()
2244             }
2245         }
2246         self.debug(formatter, "PatType")
2247     }
2248 }
2249 #[cfg(feature = "full")]
2250 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2251 impl Debug for PatWild {
fmtnull2252     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2253         impl PatWild {
2254             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2255                 let mut formatter = formatter.debug_struct(name);
2256                 formatter.field("attrs", &self.attrs);
2257                 formatter.field("underscore_token", &self.underscore_token);
2258                 formatter.finish()
2259             }
2260         }
2261         self.debug(formatter, "PatWild")
2262     }
2263 }
2264 #[cfg(any(feature = "derive", feature = "full"))]
2265 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2266 impl Debug for Path {
fmtnull2267     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2268         impl Path {
2269             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2270                 let mut formatter = formatter.debug_struct(name);
2271                 formatter.field("leading_colon", &self.leading_colon);
2272                 formatter.field("segments", &self.segments);
2273                 formatter.finish()
2274             }
2275         }
2276         self.debug(formatter, "Path")
2277     }
2278 }
2279 #[cfg(any(feature = "derive", feature = "full"))]
2280 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2281 impl Debug for PathArguments {
fmtnull2282     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2283         formatter.write_str("PathArguments::")?;
2284         match self {
2285             PathArguments::None => formatter.write_str("None"),
2286             PathArguments::AngleBracketed(v0) => v0.debug(formatter, "AngleBracketed"),
2287             PathArguments::Parenthesized(v0) => v0.debug(formatter, "Parenthesized"),
2288         }
2289     }
2290 }
2291 #[cfg(any(feature = "derive", feature = "full"))]
2292 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2293 impl Debug for PathSegment {
fmtnull2294     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2295         let mut formatter = formatter.debug_struct("PathSegment");
2296         formatter.field("ident", &self.ident);
2297         formatter.field("arguments", &self.arguments);
2298         formatter.finish()
2299     }
2300 }
2301 #[cfg(any(feature = "derive", feature = "full"))]
2302 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2303 impl Debug for PredicateLifetime {
fmtnull2304     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2305         let mut formatter = formatter.debug_struct("PredicateLifetime");
2306         formatter.field("lifetime", &self.lifetime);
2307         formatter.field("colon_token", &self.colon_token);
2308         formatter.field("bounds", &self.bounds);
2309         formatter.finish()
2310     }
2311 }
2312 #[cfg(any(feature = "derive", feature = "full"))]
2313 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2314 impl Debug for PredicateType {
fmtnull2315     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2316         let mut formatter = formatter.debug_struct("PredicateType");
2317         formatter.field("lifetimes", &self.lifetimes);
2318         formatter.field("bounded_ty", &self.bounded_ty);
2319         formatter.field("colon_token", &self.colon_token);
2320         formatter.field("bounds", &self.bounds);
2321         formatter.finish()
2322     }
2323 }
2324 #[cfg(any(feature = "derive", feature = "full"))]
2325 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2326 impl Debug for QSelf {
fmtnull2327     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2328         let mut formatter = formatter.debug_struct("QSelf");
2329         formatter.field("lt_token", &self.lt_token);
2330         formatter.field("ty", &self.ty);
2331         formatter.field("position", &self.position);
2332         formatter.field("as_token", &self.as_token);
2333         formatter.field("gt_token", &self.gt_token);
2334         formatter.finish()
2335     }
2336 }
2337 #[cfg(feature = "full")]
2338 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2339 impl Debug for RangeLimits {
fmtnull2340     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2341         formatter.write_str("RangeLimits::")?;
2342         match self {
2343             RangeLimits::HalfOpen(v0) => {
2344                 let mut formatter = formatter.debug_tuple("HalfOpen");
2345                 formatter.field(v0);
2346                 formatter.finish()
2347             }
2348             RangeLimits::Closed(v0) => {
2349                 let mut formatter = formatter.debug_tuple("Closed");
2350                 formatter.field(v0);
2351                 formatter.finish()
2352             }
2353         }
2354     }
2355 }
2356 #[cfg(feature = "full")]
2357 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2358 impl Debug for Receiver {
fmtnull2359     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2360         let mut formatter = formatter.debug_struct("Receiver");
2361         formatter.field("attrs", &self.attrs);
2362         formatter.field("reference", &self.reference);
2363         formatter.field("mutability", &self.mutability);
2364         formatter.field("self_token", &self.self_token);
2365         formatter.field("colon_token", &self.colon_token);
2366         formatter.field("ty", &self.ty);
2367         formatter.finish()
2368     }
2369 }
2370 #[cfg(any(feature = "derive", feature = "full"))]
2371 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2372 impl Debug for ReturnType {
fmtnull2373     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2374         formatter.write_str("ReturnType::")?;
2375         match self {
2376             ReturnType::Default => formatter.write_str("Default"),
2377             ReturnType::Type(v0, v1) => {
2378                 let mut formatter = formatter.debug_tuple("Type");
2379                 formatter.field(v0);
2380                 formatter.field(v1);
2381                 formatter.finish()
2382             }
2383         }
2384     }
2385 }
2386 #[cfg(feature = "full")]
2387 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2388 impl Debug for Signature {
fmtnull2389     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2390         let mut formatter = formatter.debug_struct("Signature");
2391         formatter.field("constness", &self.constness);
2392         formatter.field("asyncness", &self.asyncness);
2393         formatter.field("unsafety", &self.unsafety);
2394         formatter.field("abi", &self.abi);
2395         formatter.field("fn_token", &self.fn_token);
2396         formatter.field("ident", &self.ident);
2397         formatter.field("generics", &self.generics);
2398         formatter.field("paren_token", &self.paren_token);
2399         formatter.field("inputs", &self.inputs);
2400         formatter.field("variadic", &self.variadic);
2401         formatter.field("output", &self.output);
2402         formatter.finish()
2403     }
2404 }
2405 #[cfg(feature = "full")]
2406 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2407 impl Debug for StaticMutability {
fmtnull2408     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2409         formatter.write_str("StaticMutability::")?;
2410         match self {
2411             StaticMutability::Mut(v0) => {
2412                 let mut formatter = formatter.debug_tuple("Mut");
2413                 formatter.field(v0);
2414                 formatter.finish()
2415             }
2416             StaticMutability::None => formatter.write_str("None"),
2417         }
2418     }
2419 }
2420 #[cfg(feature = "full")]
2421 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2422 impl Debug for Stmt {
fmtnull2423     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2424         formatter.write_str("Stmt::")?;
2425         match self {
2426             Stmt::Local(v0) => v0.debug(formatter, "Local"),
2427             Stmt::Item(v0) => {
2428                 let mut formatter = formatter.debug_tuple("Item");
2429                 formatter.field(v0);
2430                 formatter.finish()
2431             }
2432             Stmt::Expr(v0, v1) => {
2433                 let mut formatter = formatter.debug_tuple("Expr");
2434                 formatter.field(v0);
2435                 formatter.field(v1);
2436                 formatter.finish()
2437             }
2438             Stmt::Macro(v0) => v0.debug(formatter, "Macro"),
2439         }
2440     }
2441 }
2442 #[cfg(feature = "full")]
2443 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2444 impl Debug for StmtMacro {
fmtnull2445     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2446         impl StmtMacro {
2447             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2448                 let mut formatter = formatter.debug_struct(name);
2449                 formatter.field("attrs", &self.attrs);
2450                 formatter.field("mac", &self.mac);
2451                 formatter.field("semi_token", &self.semi_token);
2452                 formatter.finish()
2453             }
2454         }
2455         self.debug(formatter, "StmtMacro")
2456     }
2457 }
2458 #[cfg(any(feature = "derive", feature = "full"))]
2459 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2460 impl Debug for TraitBound {
fmtnull2461     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2462         let mut formatter = formatter.debug_struct("TraitBound");
2463         formatter.field("paren_token", &self.paren_token);
2464         formatter.field("modifier", &self.modifier);
2465         formatter.field("lifetimes", &self.lifetimes);
2466         formatter.field("path", &self.path);
2467         formatter.finish()
2468     }
2469 }
2470 #[cfg(any(feature = "derive", feature = "full"))]
2471 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2472 impl Debug for TraitBoundModifier {
fmtnull2473     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2474         formatter.write_str("TraitBoundModifier::")?;
2475         match self {
2476             TraitBoundModifier::None => formatter.write_str("None"),
2477             TraitBoundModifier::Maybe(v0) => {
2478                 let mut formatter = formatter.debug_tuple("Maybe");
2479                 formatter.field(v0);
2480                 formatter.finish()
2481             }
2482         }
2483     }
2484 }
2485 #[cfg(feature = "full")]
2486 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2487 impl Debug for TraitItem {
fmtnull2488     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2489         formatter.write_str("TraitItem::")?;
2490         match self {
2491             TraitItem::Const(v0) => v0.debug(formatter, "Const"),
2492             TraitItem::Fn(v0) => v0.debug(formatter, "Fn"),
2493             TraitItem::Type(v0) => v0.debug(formatter, "Type"),
2494             TraitItem::Macro(v0) => v0.debug(formatter, "Macro"),
2495             TraitItem::Verbatim(v0) => {
2496                 let mut formatter = formatter.debug_tuple("Verbatim");
2497                 formatter.field(v0);
2498                 formatter.finish()
2499             }
2500         }
2501     }
2502 }
2503 #[cfg(feature = "full")]
2504 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2505 impl Debug for TraitItemConst {
fmtnull2506     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2507         impl TraitItemConst {
2508             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2509                 let mut formatter = formatter.debug_struct(name);
2510                 formatter.field("attrs", &self.attrs);
2511                 formatter.field("const_token", &self.const_token);
2512                 formatter.field("ident", &self.ident);
2513                 formatter.field("generics", &self.generics);
2514                 formatter.field("colon_token", &self.colon_token);
2515                 formatter.field("ty", &self.ty);
2516                 formatter.field("default", &self.default);
2517                 formatter.field("semi_token", &self.semi_token);
2518                 formatter.finish()
2519             }
2520         }
2521         self.debug(formatter, "TraitItemConst")
2522     }
2523 }
2524 #[cfg(feature = "full")]
2525 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2526 impl Debug for TraitItemFn {
fmtnull2527     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2528         impl TraitItemFn {
2529             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2530                 let mut formatter = formatter.debug_struct(name);
2531                 formatter.field("attrs", &self.attrs);
2532                 formatter.field("sig", &self.sig);
2533                 formatter.field("default", &self.default);
2534                 formatter.field("semi_token", &self.semi_token);
2535                 formatter.finish()
2536             }
2537         }
2538         self.debug(formatter, "TraitItemFn")
2539     }
2540 }
2541 #[cfg(feature = "full")]
2542 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2543 impl Debug for TraitItemMacro {
fmtnull2544     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2545         impl TraitItemMacro {
2546             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2547                 let mut formatter = formatter.debug_struct(name);
2548                 formatter.field("attrs", &self.attrs);
2549                 formatter.field("mac", &self.mac);
2550                 formatter.field("semi_token", &self.semi_token);
2551                 formatter.finish()
2552             }
2553         }
2554         self.debug(formatter, "TraitItemMacro")
2555     }
2556 }
2557 #[cfg(feature = "full")]
2558 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2559 impl Debug for TraitItemType {
fmtnull2560     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2561         impl TraitItemType {
2562             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2563                 let mut formatter = formatter.debug_struct(name);
2564                 formatter.field("attrs", &self.attrs);
2565                 formatter.field("type_token", &self.type_token);
2566                 formatter.field("ident", &self.ident);
2567                 formatter.field("generics", &self.generics);
2568                 formatter.field("colon_token", &self.colon_token);
2569                 formatter.field("bounds", &self.bounds);
2570                 formatter.field("default", &self.default);
2571                 formatter.field("semi_token", &self.semi_token);
2572                 formatter.finish()
2573             }
2574         }
2575         self.debug(formatter, "TraitItemType")
2576     }
2577 }
2578 #[cfg(any(feature = "derive", feature = "full"))]
2579 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2580 impl Debug for Type {
fmtnull2581     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2582         formatter.write_str("Type::")?;
2583         match self {
2584             Type::Array(v0) => v0.debug(formatter, "Array"),
2585             Type::BareFn(v0) => v0.debug(formatter, "BareFn"),
2586             Type::Group(v0) => v0.debug(formatter, "Group"),
2587             Type::ImplTrait(v0) => v0.debug(formatter, "ImplTrait"),
2588             Type::Infer(v0) => v0.debug(formatter, "Infer"),
2589             Type::Macro(v0) => v0.debug(formatter, "Macro"),
2590             Type::Never(v0) => v0.debug(formatter, "Never"),
2591             Type::Paren(v0) => v0.debug(formatter, "Paren"),
2592             Type::Path(v0) => v0.debug(formatter, "Path"),
2593             Type::Ptr(v0) => v0.debug(formatter, "Ptr"),
2594             Type::Reference(v0) => v0.debug(formatter, "Reference"),
2595             Type::Slice(v0) => v0.debug(formatter, "Slice"),
2596             Type::TraitObject(v0) => v0.debug(formatter, "TraitObject"),
2597             Type::Tuple(v0) => v0.debug(formatter, "Tuple"),
2598             Type::Verbatim(v0) => {
2599                 let mut formatter = formatter.debug_tuple("Verbatim");
2600                 formatter.field(v0);
2601                 formatter.finish()
2602             }
2603         }
2604     }
2605 }
2606 #[cfg(any(feature = "derive", feature = "full"))]
2607 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2608 impl Debug for TypeArray {
fmtnull2609     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2610         impl TypeArray {
2611             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2612                 let mut formatter = formatter.debug_struct(name);
2613                 formatter.field("bracket_token", &self.bracket_token);
2614                 formatter.field("elem", &self.elem);
2615                 formatter.field("semi_token", &self.semi_token);
2616                 formatter.field("len", &self.len);
2617                 formatter.finish()
2618             }
2619         }
2620         self.debug(formatter, "TypeArray")
2621     }
2622 }
2623 #[cfg(any(feature = "derive", feature = "full"))]
2624 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2625 impl Debug for TypeBareFn {
fmtnull2626     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2627         impl TypeBareFn {
2628             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2629                 let mut formatter = formatter.debug_struct(name);
2630                 formatter.field("lifetimes", &self.lifetimes);
2631                 formatter.field("unsafety", &self.unsafety);
2632                 formatter.field("abi", &self.abi);
2633                 formatter.field("fn_token", &self.fn_token);
2634                 formatter.field("paren_token", &self.paren_token);
2635                 formatter.field("inputs", &self.inputs);
2636                 formatter.field("variadic", &self.variadic);
2637                 formatter.field("output", &self.output);
2638                 formatter.finish()
2639             }
2640         }
2641         self.debug(formatter, "TypeBareFn")
2642     }
2643 }
2644 #[cfg(any(feature = "derive", feature = "full"))]
2645 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2646 impl Debug for TypeGroup {
fmtnull2647     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2648         impl TypeGroup {
2649             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2650                 let mut formatter = formatter.debug_struct(name);
2651                 formatter.field("group_token", &self.group_token);
2652                 formatter.field("elem", &self.elem);
2653                 formatter.finish()
2654             }
2655         }
2656         self.debug(formatter, "TypeGroup")
2657     }
2658 }
2659 #[cfg(any(feature = "derive", feature = "full"))]
2660 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2661 impl Debug for TypeImplTrait {
fmtnull2662     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2663         impl TypeImplTrait {
2664             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2665                 let mut formatter = formatter.debug_struct(name);
2666                 formatter.field("impl_token", &self.impl_token);
2667                 formatter.field("bounds", &self.bounds);
2668                 formatter.finish()
2669             }
2670         }
2671         self.debug(formatter, "TypeImplTrait")
2672     }
2673 }
2674 #[cfg(any(feature = "derive", feature = "full"))]
2675 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2676 impl Debug for TypeInfer {
fmtnull2677     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2678         impl TypeInfer {
2679             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2680                 let mut formatter = formatter.debug_struct(name);
2681                 formatter.field("underscore_token", &self.underscore_token);
2682                 formatter.finish()
2683             }
2684         }
2685         self.debug(formatter, "TypeInfer")
2686     }
2687 }
2688 #[cfg(any(feature = "derive", feature = "full"))]
2689 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2690 impl Debug for TypeMacro {
fmtnull2691     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2692         impl TypeMacro {
2693             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2694                 let mut formatter = formatter.debug_struct(name);
2695                 formatter.field("mac", &self.mac);
2696                 formatter.finish()
2697             }
2698         }
2699         self.debug(formatter, "TypeMacro")
2700     }
2701 }
2702 #[cfg(any(feature = "derive", feature = "full"))]
2703 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2704 impl Debug for TypeNever {
fmtnull2705     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2706         impl TypeNever {
2707             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2708                 let mut formatter = formatter.debug_struct(name);
2709                 formatter.field("bang_token", &self.bang_token);
2710                 formatter.finish()
2711             }
2712         }
2713         self.debug(formatter, "TypeNever")
2714     }
2715 }
2716 #[cfg(any(feature = "derive", feature = "full"))]
2717 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2718 impl Debug for TypeParam {
fmtnull2719     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2720         let mut formatter = formatter.debug_struct("TypeParam");
2721         formatter.field("attrs", &self.attrs);
2722         formatter.field("ident", &self.ident);
2723         formatter.field("colon_token", &self.colon_token);
2724         formatter.field("bounds", &self.bounds);
2725         formatter.field("eq_token", &self.eq_token);
2726         formatter.field("default", &self.default);
2727         formatter.finish()
2728     }
2729 }
2730 #[cfg(any(feature = "derive", feature = "full"))]
2731 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2732 impl Debug for TypeParamBound {
fmtnull2733     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2734         formatter.write_str("TypeParamBound::")?;
2735         match self {
2736             TypeParamBound::Trait(v0) => {
2737                 let mut formatter = formatter.debug_tuple("Trait");
2738                 formatter.field(v0);
2739                 formatter.finish()
2740             }
2741             TypeParamBound::Lifetime(v0) => v0.debug(formatter, "Lifetime"),
2742             TypeParamBound::Verbatim(v0) => {
2743                 let mut formatter = formatter.debug_tuple("Verbatim");
2744                 formatter.field(v0);
2745                 formatter.finish()
2746             }
2747         }
2748     }
2749 }
2750 #[cfg(any(feature = "derive", feature = "full"))]
2751 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2752 impl Debug for TypeParen {
fmtnull2753     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2754         impl TypeParen {
2755             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2756                 let mut formatter = formatter.debug_struct(name);
2757                 formatter.field("paren_token", &self.paren_token);
2758                 formatter.field("elem", &self.elem);
2759                 formatter.finish()
2760             }
2761         }
2762         self.debug(formatter, "TypeParen")
2763     }
2764 }
2765 #[cfg(any(feature = "derive", feature = "full"))]
2766 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2767 impl Debug for TypePath {
fmtnull2768     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2769         impl TypePath {
2770             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2771                 let mut formatter = formatter.debug_struct(name);
2772                 formatter.field("qself", &self.qself);
2773                 formatter.field("path", &self.path);
2774                 formatter.finish()
2775             }
2776         }
2777         self.debug(formatter, "TypePath")
2778     }
2779 }
2780 #[cfg(any(feature = "derive", feature = "full"))]
2781 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2782 impl Debug for TypePtr {
fmtnull2783     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2784         impl TypePtr {
2785             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2786                 let mut formatter = formatter.debug_struct(name);
2787                 formatter.field("star_token", &self.star_token);
2788                 formatter.field("const_token", &self.const_token);
2789                 formatter.field("mutability", &self.mutability);
2790                 formatter.field("elem", &self.elem);
2791                 formatter.finish()
2792             }
2793         }
2794         self.debug(formatter, "TypePtr")
2795     }
2796 }
2797 #[cfg(any(feature = "derive", feature = "full"))]
2798 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2799 impl Debug for TypeReference {
fmtnull2800     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2801         impl TypeReference {
2802             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2803                 let mut formatter = formatter.debug_struct(name);
2804                 formatter.field("and_token", &self.and_token);
2805                 formatter.field("lifetime", &self.lifetime);
2806                 formatter.field("mutability", &self.mutability);
2807                 formatter.field("elem", &self.elem);
2808                 formatter.finish()
2809             }
2810         }
2811         self.debug(formatter, "TypeReference")
2812     }
2813 }
2814 #[cfg(any(feature = "derive", feature = "full"))]
2815 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2816 impl Debug for TypeSlice {
fmtnull2817     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2818         impl TypeSlice {
2819             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2820                 let mut formatter = formatter.debug_struct(name);
2821                 formatter.field("bracket_token", &self.bracket_token);
2822                 formatter.field("elem", &self.elem);
2823                 formatter.finish()
2824             }
2825         }
2826         self.debug(formatter, "TypeSlice")
2827     }
2828 }
2829 #[cfg(any(feature = "derive", feature = "full"))]
2830 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2831 impl Debug for TypeTraitObject {
fmtnull2832     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2833         impl TypeTraitObject {
2834             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2835                 let mut formatter = formatter.debug_struct(name);
2836                 formatter.field("dyn_token", &self.dyn_token);
2837                 formatter.field("bounds", &self.bounds);
2838                 formatter.finish()
2839             }
2840         }
2841         self.debug(formatter, "TypeTraitObject")
2842     }
2843 }
2844 #[cfg(any(feature = "derive", feature = "full"))]
2845 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2846 impl Debug for TypeTuple {
fmtnull2847     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2848         impl TypeTuple {
2849             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2850                 let mut formatter = formatter.debug_struct(name);
2851                 formatter.field("paren_token", &self.paren_token);
2852                 formatter.field("elems", &self.elems);
2853                 formatter.finish()
2854             }
2855         }
2856         self.debug(formatter, "TypeTuple")
2857     }
2858 }
2859 #[cfg(any(feature = "derive", feature = "full"))]
2860 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2861 impl Debug for UnOp {
fmtnull2862     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2863         formatter.write_str("UnOp::")?;
2864         match self {
2865             UnOp::Deref(v0) => {
2866                 let mut formatter = formatter.debug_tuple("Deref");
2867                 formatter.field(v0);
2868                 formatter.finish()
2869             }
2870             UnOp::Not(v0) => {
2871                 let mut formatter = formatter.debug_tuple("Not");
2872                 formatter.field(v0);
2873                 formatter.finish()
2874             }
2875             UnOp::Neg(v0) => {
2876                 let mut formatter = formatter.debug_tuple("Neg");
2877                 formatter.field(v0);
2878                 formatter.finish()
2879             }
2880         }
2881     }
2882 }
2883 #[cfg(feature = "full")]
2884 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2885 impl Debug for UseGlob {
fmtnull2886     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2887         let mut formatter = formatter.debug_struct("UseGlob");
2888         formatter.field("star_token", &self.star_token);
2889         formatter.finish()
2890     }
2891 }
2892 #[cfg(feature = "full")]
2893 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2894 impl Debug for UseGroup {
fmtnull2895     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2896         let mut formatter = formatter.debug_struct("UseGroup");
2897         formatter.field("brace_token", &self.brace_token);
2898         formatter.field("items", &self.items);
2899         formatter.finish()
2900     }
2901 }
2902 #[cfg(feature = "full")]
2903 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2904 impl Debug for UseName {
fmtnull2905     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2906         let mut formatter = formatter.debug_struct("UseName");
2907         formatter.field("ident", &self.ident);
2908         formatter.finish()
2909     }
2910 }
2911 #[cfg(feature = "full")]
2912 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2913 impl Debug for UsePath {
fmtnull2914     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2915         let mut formatter = formatter.debug_struct("UsePath");
2916         formatter.field("ident", &self.ident);
2917         formatter.field("colon2_token", &self.colon2_token);
2918         formatter.field("tree", &self.tree);
2919         formatter.finish()
2920     }
2921 }
2922 #[cfg(feature = "full")]
2923 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2924 impl Debug for UseRename {
fmtnull2925     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2926         let mut formatter = formatter.debug_struct("UseRename");
2927         formatter.field("ident", &self.ident);
2928         formatter.field("as_token", &self.as_token);
2929         formatter.field("rename", &self.rename);
2930         formatter.finish()
2931     }
2932 }
2933 #[cfg(feature = "full")]
2934 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2935 impl Debug for UseTree {
fmtnull2936     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2937         formatter.write_str("UseTree::")?;
2938         match self {
2939             UseTree::Path(v0) => {
2940                 let mut formatter = formatter.debug_tuple("Path");
2941                 formatter.field(v0);
2942                 formatter.finish()
2943             }
2944             UseTree::Name(v0) => {
2945                 let mut formatter = formatter.debug_tuple("Name");
2946                 formatter.field(v0);
2947                 formatter.finish()
2948             }
2949             UseTree::Rename(v0) => {
2950                 let mut formatter = formatter.debug_tuple("Rename");
2951                 formatter.field(v0);
2952                 formatter.finish()
2953             }
2954             UseTree::Glob(v0) => {
2955                 let mut formatter = formatter.debug_tuple("Glob");
2956                 formatter.field(v0);
2957                 formatter.finish()
2958             }
2959             UseTree::Group(v0) => {
2960                 let mut formatter = formatter.debug_tuple("Group");
2961                 formatter.field(v0);
2962                 formatter.finish()
2963             }
2964         }
2965     }
2966 }
2967 #[cfg(feature = "full")]
2968 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2969 impl Debug for Variadic {
fmtnull2970     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2971         let mut formatter = formatter.debug_struct("Variadic");
2972         formatter.field("attrs", &self.attrs);
2973         formatter.field("pat", &self.pat);
2974         formatter.field("dots", &self.dots);
2975         formatter.field("comma", &self.comma);
2976         formatter.finish()
2977     }
2978 }
2979 #[cfg(any(feature = "derive", feature = "full"))]
2980 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2981 impl Debug for Variant {
fmtnull2982     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2983         let mut formatter = formatter.debug_struct("Variant");
2984         formatter.field("attrs", &self.attrs);
2985         formatter.field("ident", &self.ident);
2986         formatter.field("fields", &self.fields);
2987         formatter.field("discriminant", &self.discriminant);
2988         formatter.finish()
2989     }
2990 }
2991 #[cfg(any(feature = "derive", feature = "full"))]
2992 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
2993 impl Debug for VisRestricted {
fmtnull2994     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
2995         impl VisRestricted {
2996             fn debug(&self, formatter: &mut fmt::Formatter, name: &str) -> fmt::Result {
2997                 let mut formatter = formatter.debug_struct(name);
2998                 formatter.field("pub_token", &self.pub_token);
2999                 formatter.field("paren_token", &self.paren_token);
3000                 formatter.field("in_token", &self.in_token);
3001                 formatter.field("path", &self.path);
3002                 formatter.finish()
3003             }
3004         }
3005         self.debug(formatter, "VisRestricted")
3006     }
3007 }
3008 #[cfg(any(feature = "derive", feature = "full"))]
3009 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
3010 impl Debug for Visibility {
fmtnull3011     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3012         formatter.write_str("Visibility::")?;
3013         match self {
3014             Visibility::Public(v0) => {
3015                 let mut formatter = formatter.debug_tuple("Public");
3016                 formatter.field(v0);
3017                 formatter.finish()
3018             }
3019             Visibility::Restricted(v0) => v0.debug(formatter, "Restricted"),
3020             Visibility::Inherited => formatter.write_str("Inherited"),
3021         }
3022     }
3023 }
3024 #[cfg(any(feature = "derive", feature = "full"))]
3025 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
3026 impl Debug for WhereClause {
fmtnull3027     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3028         let mut formatter = formatter.debug_struct("WhereClause");
3029         formatter.field("where_token", &self.where_token);
3030         formatter.field("predicates", &self.predicates);
3031         formatter.finish()
3032     }
3033 }
3034 #[cfg(any(feature = "derive", feature = "full"))]
3035 #[cfg_attr(doc_cfg, doc(cfg(feature = "extra-traits")))]
3036 impl Debug for WherePredicate {
fmtnull3037     fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
3038         formatter.write_str("WherePredicate::")?;
3039         match self {
3040             WherePredicate::Lifetime(v0) => {
3041                 let mut formatter = formatter.debug_tuple("Lifetime");
3042                 formatter.field(v0);
3043                 formatter.finish()
3044             }
3045             WherePredicate::Type(v0) => {
3046                 let mut formatter = formatter.debug_tuple("Type");
3047                 formatter.field(v0);
3048                 formatter.finish()
3049             }
3050         }
3051     }
3052 }
3053