xref: /linux/rust/syn/gen/clone.rs (revision 784faa8eca8270671e0ed6d9d21f04bbb80fc5f7)
1 // SPDX-License-Identifier: Apache-2.0 OR MIT
2 
3 // This file is @generated by syn-internal-codegen.
4 // It is not intended for manual editing.
5 
6 #![allow(clippy::clone_on_copy, clippy::expl_impl_clone_on_copy)]
7 #[cfg(any(feature = "derive", feature = "full"))]
8 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
9 impl Clone for crate::Abi {
clone(&self) -> Self10     fn clone(&self) -> Self {
11         crate::Abi {
12             extern_token: self.extern_token.clone(),
13             name: self.name.clone(),
14         }
15     }
16 }
17 #[cfg(any(feature = "derive", feature = "full"))]
18 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
19 impl Clone for crate::AngleBracketedGenericArguments {
clone(&self) -> Self20     fn clone(&self) -> Self {
21         crate::AngleBracketedGenericArguments {
22             colon2_token: self.colon2_token.clone(),
23             lt_token: self.lt_token.clone(),
24             args: self.args.clone(),
25             gt_token: self.gt_token.clone(),
26         }
27     }
28 }
29 #[cfg(feature = "full")]
30 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
31 impl Clone for crate::Arm {
clone(&self) -> Self32     fn clone(&self) -> Self {
33         crate::Arm {
34             attrs: self.attrs.clone(),
35             pat: self.pat.clone(),
36             guard: self.guard.clone(),
37             fat_arrow_token: self.fat_arrow_token.clone(),
38             body: self.body.clone(),
39             comma: self.comma.clone(),
40         }
41     }
42 }
43 #[cfg(any(feature = "derive", feature = "full"))]
44 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
45 impl Clone for crate::AssocConst {
clone(&self) -> Self46     fn clone(&self) -> Self {
47         crate::AssocConst {
48             ident: self.ident.clone(),
49             generics: self.generics.clone(),
50             eq_token: self.eq_token.clone(),
51             value: self.value.clone(),
52         }
53     }
54 }
55 #[cfg(any(feature = "derive", feature = "full"))]
56 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
57 impl Clone for crate::AssocType {
clone(&self) -> Self58     fn clone(&self) -> Self {
59         crate::AssocType {
60             ident: self.ident.clone(),
61             generics: self.generics.clone(),
62             eq_token: self.eq_token.clone(),
63             ty: self.ty.clone(),
64         }
65     }
66 }
67 #[cfg(any(feature = "derive", feature = "full"))]
68 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
69 impl Copy for crate::AttrStyle {}
70 #[cfg(any(feature = "derive", feature = "full"))]
71 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
72 impl Clone for crate::AttrStyle {
clone(&self) -> Self73     fn clone(&self) -> Self {
74         *self
75     }
76 }
77 #[cfg(any(feature = "derive", feature = "full"))]
78 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
79 impl Clone for crate::Attribute {
clone(&self) -> Self80     fn clone(&self) -> Self {
81         crate::Attribute {
82             pound_token: self.pound_token.clone(),
83             style: self.style.clone(),
84             bracket_token: self.bracket_token.clone(),
85             meta: self.meta.clone(),
86         }
87     }
88 }
89 #[cfg(any(feature = "derive", feature = "full"))]
90 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
91 impl Clone for crate::BareFnArg {
clone(&self) -> Self92     fn clone(&self) -> Self {
93         crate::BareFnArg {
94             attrs: self.attrs.clone(),
95             name: self.name.clone(),
96             ty: self.ty.clone(),
97         }
98     }
99 }
100 #[cfg(any(feature = "derive", feature = "full"))]
101 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
102 impl Clone for crate::BareVariadic {
clone(&self) -> Self103     fn clone(&self) -> Self {
104         crate::BareVariadic {
105             attrs: self.attrs.clone(),
106             name: self.name.clone(),
107             dots: self.dots.clone(),
108             comma: self.comma.clone(),
109         }
110     }
111 }
112 #[cfg(any(feature = "derive", feature = "full"))]
113 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
114 impl Copy for crate::BinOp {}
115 #[cfg(any(feature = "derive", feature = "full"))]
116 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
117 impl Clone for crate::BinOp {
clone(&self) -> Self118     fn clone(&self) -> Self {
119         *self
120     }
121 }
122 #[cfg(feature = "full")]
123 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
124 impl Clone for crate::Block {
clone(&self) -> Self125     fn clone(&self) -> Self {
126         crate::Block {
127             brace_token: self.brace_token.clone(),
128             stmts: self.stmts.clone(),
129         }
130     }
131 }
132 #[cfg(any(feature = "derive", feature = "full"))]
133 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
134 impl Clone for crate::BoundLifetimes {
clone(&self) -> Self135     fn clone(&self) -> Self {
136         crate::BoundLifetimes {
137             for_token: self.for_token.clone(),
138             lt_token: self.lt_token.clone(),
139             lifetimes: self.lifetimes.clone(),
140             gt_token: self.gt_token.clone(),
141         }
142     }
143 }
144 #[cfg(feature = "full")]
145 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
146 impl Clone for crate::CapturedParam {
clone(&self) -> Self147     fn clone(&self) -> Self {
148         match self {
149             crate::CapturedParam::Lifetime(v0) => {
150                 crate::CapturedParam::Lifetime(v0.clone())
151             }
152             crate::CapturedParam::Ident(v0) => crate::CapturedParam::Ident(v0.clone()),
153         }
154     }
155 }
156 #[cfg(any(feature = "derive", feature = "full"))]
157 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
158 impl Clone for crate::ConstParam {
clone(&self) -> Self159     fn clone(&self) -> Self {
160         crate::ConstParam {
161             attrs: self.attrs.clone(),
162             const_token: self.const_token.clone(),
163             ident: self.ident.clone(),
164             colon_token: self.colon_token.clone(),
165             ty: self.ty.clone(),
166             eq_token: self.eq_token.clone(),
167             default: self.default.clone(),
168         }
169     }
170 }
171 #[cfg(any(feature = "derive", feature = "full"))]
172 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
173 impl Clone for crate::Constraint {
clone(&self) -> Self174     fn clone(&self) -> Self {
175         crate::Constraint {
176             ident: self.ident.clone(),
177             generics: self.generics.clone(),
178             colon_token: self.colon_token.clone(),
179             bounds: self.bounds.clone(),
180         }
181     }
182 }
183 #[cfg(feature = "derive")]
184 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
185 impl Clone for crate::Data {
clone(&self) -> Self186     fn clone(&self) -> Self {
187         match self {
188             crate::Data::Struct(v0) => crate::Data::Struct(v0.clone()),
189             crate::Data::Enum(v0) => crate::Data::Enum(v0.clone()),
190             crate::Data::Union(v0) => crate::Data::Union(v0.clone()),
191         }
192     }
193 }
194 #[cfg(feature = "derive")]
195 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
196 impl Clone for crate::DataEnum {
clone(&self) -> Self197     fn clone(&self) -> Self {
198         crate::DataEnum {
199             enum_token: self.enum_token.clone(),
200             brace_token: self.brace_token.clone(),
201             variants: self.variants.clone(),
202         }
203     }
204 }
205 #[cfg(feature = "derive")]
206 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
207 impl Clone for crate::DataStruct {
clone(&self) -> Self208     fn clone(&self) -> Self {
209         crate::DataStruct {
210             struct_token: self.struct_token.clone(),
211             fields: self.fields.clone(),
212             semi_token: self.semi_token.clone(),
213         }
214     }
215 }
216 #[cfg(feature = "derive")]
217 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
218 impl Clone for crate::DataUnion {
clone(&self) -> Self219     fn clone(&self) -> Self {
220         crate::DataUnion {
221             union_token: self.union_token.clone(),
222             fields: self.fields.clone(),
223         }
224     }
225 }
226 #[cfg(feature = "derive")]
227 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
228 impl Clone for crate::DeriveInput {
clone(&self) -> Self229     fn clone(&self) -> Self {
230         crate::DeriveInput {
231             attrs: self.attrs.clone(),
232             vis: self.vis.clone(),
233             ident: self.ident.clone(),
234             generics: self.generics.clone(),
235             data: self.data.clone(),
236         }
237     }
238 }
239 #[cfg(any(feature = "derive", feature = "full"))]
240 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
241 impl Clone for crate::Expr {
clone(&self) -> Self242     fn clone(&self) -> Self {
243         match self {
244             #[cfg(feature = "full")]
245             crate::Expr::Array(v0) => crate::Expr::Array(v0.clone()),
246             #[cfg(feature = "full")]
247             crate::Expr::Assign(v0) => crate::Expr::Assign(v0.clone()),
248             #[cfg(feature = "full")]
249             crate::Expr::Async(v0) => crate::Expr::Async(v0.clone()),
250             #[cfg(feature = "full")]
251             crate::Expr::Await(v0) => crate::Expr::Await(v0.clone()),
252             crate::Expr::Binary(v0) => crate::Expr::Binary(v0.clone()),
253             #[cfg(feature = "full")]
254             crate::Expr::Block(v0) => crate::Expr::Block(v0.clone()),
255             #[cfg(feature = "full")]
256             crate::Expr::Break(v0) => crate::Expr::Break(v0.clone()),
257             crate::Expr::Call(v0) => crate::Expr::Call(v0.clone()),
258             crate::Expr::Cast(v0) => crate::Expr::Cast(v0.clone()),
259             #[cfg(feature = "full")]
260             crate::Expr::Closure(v0) => crate::Expr::Closure(v0.clone()),
261             #[cfg(feature = "full")]
262             crate::Expr::Const(v0) => crate::Expr::Const(v0.clone()),
263             #[cfg(feature = "full")]
264             crate::Expr::Continue(v0) => crate::Expr::Continue(v0.clone()),
265             crate::Expr::Field(v0) => crate::Expr::Field(v0.clone()),
266             #[cfg(feature = "full")]
267             crate::Expr::ForLoop(v0) => crate::Expr::ForLoop(v0.clone()),
268             crate::Expr::Group(v0) => crate::Expr::Group(v0.clone()),
269             #[cfg(feature = "full")]
270             crate::Expr::If(v0) => crate::Expr::If(v0.clone()),
271             crate::Expr::Index(v0) => crate::Expr::Index(v0.clone()),
272             #[cfg(feature = "full")]
273             crate::Expr::Infer(v0) => crate::Expr::Infer(v0.clone()),
274             #[cfg(feature = "full")]
275             crate::Expr::Let(v0) => crate::Expr::Let(v0.clone()),
276             crate::Expr::Lit(v0) => crate::Expr::Lit(v0.clone()),
277             #[cfg(feature = "full")]
278             crate::Expr::Loop(v0) => crate::Expr::Loop(v0.clone()),
279             crate::Expr::Macro(v0) => crate::Expr::Macro(v0.clone()),
280             #[cfg(feature = "full")]
281             crate::Expr::Match(v0) => crate::Expr::Match(v0.clone()),
282             crate::Expr::MethodCall(v0) => crate::Expr::MethodCall(v0.clone()),
283             crate::Expr::Paren(v0) => crate::Expr::Paren(v0.clone()),
284             crate::Expr::Path(v0) => crate::Expr::Path(v0.clone()),
285             #[cfg(feature = "full")]
286             crate::Expr::Range(v0) => crate::Expr::Range(v0.clone()),
287             #[cfg(feature = "full")]
288             crate::Expr::RawAddr(v0) => crate::Expr::RawAddr(v0.clone()),
289             crate::Expr::Reference(v0) => crate::Expr::Reference(v0.clone()),
290             #[cfg(feature = "full")]
291             crate::Expr::Repeat(v0) => crate::Expr::Repeat(v0.clone()),
292             #[cfg(feature = "full")]
293             crate::Expr::Return(v0) => crate::Expr::Return(v0.clone()),
294             crate::Expr::Struct(v0) => crate::Expr::Struct(v0.clone()),
295             #[cfg(feature = "full")]
296             crate::Expr::Try(v0) => crate::Expr::Try(v0.clone()),
297             #[cfg(feature = "full")]
298             crate::Expr::TryBlock(v0) => crate::Expr::TryBlock(v0.clone()),
299             crate::Expr::Tuple(v0) => crate::Expr::Tuple(v0.clone()),
300             crate::Expr::Unary(v0) => crate::Expr::Unary(v0.clone()),
301             #[cfg(feature = "full")]
302             crate::Expr::Unsafe(v0) => crate::Expr::Unsafe(v0.clone()),
303             crate::Expr::Verbatim(v0) => crate::Expr::Verbatim(v0.clone()),
304             #[cfg(feature = "full")]
305             crate::Expr::While(v0) => crate::Expr::While(v0.clone()),
306             #[cfg(feature = "full")]
307             crate::Expr::Yield(v0) => crate::Expr::Yield(v0.clone()),
308             #[cfg(not(feature = "full"))]
309             _ => unreachable!(),
310         }
311     }
312 }
313 #[cfg(feature = "full")]
314 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
315 impl Clone for crate::ExprArray {
clone(&self) -> Self316     fn clone(&self) -> Self {
317         crate::ExprArray {
318             attrs: self.attrs.clone(),
319             bracket_token: self.bracket_token.clone(),
320             elems: self.elems.clone(),
321         }
322     }
323 }
324 #[cfg(feature = "full")]
325 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
326 impl Clone for crate::ExprAssign {
clone(&self) -> Self327     fn clone(&self) -> Self {
328         crate::ExprAssign {
329             attrs: self.attrs.clone(),
330             left: self.left.clone(),
331             eq_token: self.eq_token.clone(),
332             right: self.right.clone(),
333         }
334     }
335 }
336 #[cfg(feature = "full")]
337 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
338 impl Clone for crate::ExprAsync {
clone(&self) -> Self339     fn clone(&self) -> Self {
340         crate::ExprAsync {
341             attrs: self.attrs.clone(),
342             async_token: self.async_token.clone(),
343             capture: self.capture.clone(),
344             block: self.block.clone(),
345         }
346     }
347 }
348 #[cfg(feature = "full")]
349 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
350 impl Clone for crate::ExprAwait {
clone(&self) -> Self351     fn clone(&self) -> Self {
352         crate::ExprAwait {
353             attrs: self.attrs.clone(),
354             base: self.base.clone(),
355             dot_token: self.dot_token.clone(),
356             await_token: self.await_token.clone(),
357         }
358     }
359 }
360 #[cfg(any(feature = "derive", feature = "full"))]
361 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
362 impl Clone for crate::ExprBinary {
clone(&self) -> Self363     fn clone(&self) -> Self {
364         crate::ExprBinary {
365             attrs: self.attrs.clone(),
366             left: self.left.clone(),
367             op: self.op.clone(),
368             right: self.right.clone(),
369         }
370     }
371 }
372 #[cfg(feature = "full")]
373 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
374 impl Clone for crate::ExprBlock {
clone(&self) -> Self375     fn clone(&self) -> Self {
376         crate::ExprBlock {
377             attrs: self.attrs.clone(),
378             label: self.label.clone(),
379             block: self.block.clone(),
380         }
381     }
382 }
383 #[cfg(feature = "full")]
384 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
385 impl Clone for crate::ExprBreak {
clone(&self) -> Self386     fn clone(&self) -> Self {
387         crate::ExprBreak {
388             attrs: self.attrs.clone(),
389             break_token: self.break_token.clone(),
390             label: self.label.clone(),
391             expr: self.expr.clone(),
392         }
393     }
394 }
395 #[cfg(any(feature = "derive", feature = "full"))]
396 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
397 impl Clone for crate::ExprCall {
clone(&self) -> Self398     fn clone(&self) -> Self {
399         crate::ExprCall {
400             attrs: self.attrs.clone(),
401             func: self.func.clone(),
402             paren_token: self.paren_token.clone(),
403             args: self.args.clone(),
404         }
405     }
406 }
407 #[cfg(any(feature = "derive", feature = "full"))]
408 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
409 impl Clone for crate::ExprCast {
clone(&self) -> Self410     fn clone(&self) -> Self {
411         crate::ExprCast {
412             attrs: self.attrs.clone(),
413             expr: self.expr.clone(),
414             as_token: self.as_token.clone(),
415             ty: self.ty.clone(),
416         }
417     }
418 }
419 #[cfg(feature = "full")]
420 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
421 impl Clone for crate::ExprClosure {
clone(&self) -> Self422     fn clone(&self) -> Self {
423         crate::ExprClosure {
424             attrs: self.attrs.clone(),
425             lifetimes: self.lifetimes.clone(),
426             constness: self.constness.clone(),
427             movability: self.movability.clone(),
428             asyncness: self.asyncness.clone(),
429             capture: self.capture.clone(),
430             or1_token: self.or1_token.clone(),
431             inputs: self.inputs.clone(),
432             or2_token: self.or2_token.clone(),
433             output: self.output.clone(),
434             body: self.body.clone(),
435         }
436     }
437 }
438 #[cfg(feature = "full")]
439 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
440 impl Clone for crate::ExprConst {
clone(&self) -> Self441     fn clone(&self) -> Self {
442         crate::ExprConst {
443             attrs: self.attrs.clone(),
444             const_token: self.const_token.clone(),
445             block: self.block.clone(),
446         }
447     }
448 }
449 #[cfg(feature = "full")]
450 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
451 impl Clone for crate::ExprContinue {
clone(&self) -> Self452     fn clone(&self) -> Self {
453         crate::ExprContinue {
454             attrs: self.attrs.clone(),
455             continue_token: self.continue_token.clone(),
456             label: self.label.clone(),
457         }
458     }
459 }
460 #[cfg(any(feature = "derive", feature = "full"))]
461 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
462 impl Clone for crate::ExprField {
clone(&self) -> Self463     fn clone(&self) -> Self {
464         crate::ExprField {
465             attrs: self.attrs.clone(),
466             base: self.base.clone(),
467             dot_token: self.dot_token.clone(),
468             member: self.member.clone(),
469         }
470     }
471 }
472 #[cfg(feature = "full")]
473 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
474 impl Clone for crate::ExprForLoop {
clone(&self) -> Self475     fn clone(&self) -> Self {
476         crate::ExprForLoop {
477             attrs: self.attrs.clone(),
478             label: self.label.clone(),
479             for_token: self.for_token.clone(),
480             pat: self.pat.clone(),
481             in_token: self.in_token.clone(),
482             expr: self.expr.clone(),
483             body: self.body.clone(),
484         }
485     }
486 }
487 #[cfg(any(feature = "derive", feature = "full"))]
488 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
489 impl Clone for crate::ExprGroup {
clone(&self) -> Self490     fn clone(&self) -> Self {
491         crate::ExprGroup {
492             attrs: self.attrs.clone(),
493             group_token: self.group_token.clone(),
494             expr: self.expr.clone(),
495         }
496     }
497 }
498 #[cfg(feature = "full")]
499 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
500 impl Clone for crate::ExprIf {
clone(&self) -> Self501     fn clone(&self) -> Self {
502         crate::ExprIf {
503             attrs: self.attrs.clone(),
504             if_token: self.if_token.clone(),
505             cond: self.cond.clone(),
506             then_branch: self.then_branch.clone(),
507             else_branch: self.else_branch.clone(),
508         }
509     }
510 }
511 #[cfg(any(feature = "derive", feature = "full"))]
512 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
513 impl Clone for crate::ExprIndex {
clone(&self) -> Self514     fn clone(&self) -> Self {
515         crate::ExprIndex {
516             attrs: self.attrs.clone(),
517             expr: self.expr.clone(),
518             bracket_token: self.bracket_token.clone(),
519             index: self.index.clone(),
520         }
521     }
522 }
523 #[cfg(feature = "full")]
524 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
525 impl Clone for crate::ExprInfer {
clone(&self) -> Self526     fn clone(&self) -> Self {
527         crate::ExprInfer {
528             attrs: self.attrs.clone(),
529             underscore_token: self.underscore_token.clone(),
530         }
531     }
532 }
533 #[cfg(feature = "full")]
534 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
535 impl Clone for crate::ExprLet {
clone(&self) -> Self536     fn clone(&self) -> Self {
537         crate::ExprLet {
538             attrs: self.attrs.clone(),
539             let_token: self.let_token.clone(),
540             pat: self.pat.clone(),
541             eq_token: self.eq_token.clone(),
542             expr: self.expr.clone(),
543         }
544     }
545 }
546 #[cfg(any(feature = "derive", feature = "full"))]
547 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
548 impl Clone for crate::ExprLit {
clone(&self) -> Self549     fn clone(&self) -> Self {
550         crate::ExprLit {
551             attrs: self.attrs.clone(),
552             lit: self.lit.clone(),
553         }
554     }
555 }
556 #[cfg(feature = "full")]
557 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
558 impl Clone for crate::ExprLoop {
clone(&self) -> Self559     fn clone(&self) -> Self {
560         crate::ExprLoop {
561             attrs: self.attrs.clone(),
562             label: self.label.clone(),
563             loop_token: self.loop_token.clone(),
564             body: self.body.clone(),
565         }
566     }
567 }
568 #[cfg(any(feature = "derive", feature = "full"))]
569 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
570 impl Clone for crate::ExprMacro {
clone(&self) -> Self571     fn clone(&self) -> Self {
572         crate::ExprMacro {
573             attrs: self.attrs.clone(),
574             mac: self.mac.clone(),
575         }
576     }
577 }
578 #[cfg(feature = "full")]
579 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
580 impl Clone for crate::ExprMatch {
clone(&self) -> Self581     fn clone(&self) -> Self {
582         crate::ExprMatch {
583             attrs: self.attrs.clone(),
584             match_token: self.match_token.clone(),
585             expr: self.expr.clone(),
586             brace_token: self.brace_token.clone(),
587             arms: self.arms.clone(),
588         }
589     }
590 }
591 #[cfg(any(feature = "derive", feature = "full"))]
592 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
593 impl Clone for crate::ExprMethodCall {
clone(&self) -> Self594     fn clone(&self) -> Self {
595         crate::ExprMethodCall {
596             attrs: self.attrs.clone(),
597             receiver: self.receiver.clone(),
598             dot_token: self.dot_token.clone(),
599             method: self.method.clone(),
600             turbofish: self.turbofish.clone(),
601             paren_token: self.paren_token.clone(),
602             args: self.args.clone(),
603         }
604     }
605 }
606 #[cfg(any(feature = "derive", feature = "full"))]
607 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
608 impl Clone for crate::ExprParen {
clone(&self) -> Self609     fn clone(&self) -> Self {
610         crate::ExprParen {
611             attrs: self.attrs.clone(),
612             paren_token: self.paren_token.clone(),
613             expr: self.expr.clone(),
614         }
615     }
616 }
617 #[cfg(any(feature = "derive", feature = "full"))]
618 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
619 impl Clone for crate::ExprPath {
clone(&self) -> Self620     fn clone(&self) -> Self {
621         crate::ExprPath {
622             attrs: self.attrs.clone(),
623             qself: self.qself.clone(),
624             path: self.path.clone(),
625         }
626     }
627 }
628 #[cfg(feature = "full")]
629 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
630 impl Clone for crate::ExprRange {
clone(&self) -> Self631     fn clone(&self) -> Self {
632         crate::ExprRange {
633             attrs: self.attrs.clone(),
634             start: self.start.clone(),
635             limits: self.limits.clone(),
636             end: self.end.clone(),
637         }
638     }
639 }
640 #[cfg(feature = "full")]
641 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
642 impl Clone for crate::ExprRawAddr {
clone(&self) -> Self643     fn clone(&self) -> Self {
644         crate::ExprRawAddr {
645             attrs: self.attrs.clone(),
646             and_token: self.and_token.clone(),
647             raw: self.raw.clone(),
648             mutability: self.mutability.clone(),
649             expr: self.expr.clone(),
650         }
651     }
652 }
653 #[cfg(any(feature = "derive", feature = "full"))]
654 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
655 impl Clone for crate::ExprReference {
clone(&self) -> Self656     fn clone(&self) -> Self {
657         crate::ExprReference {
658             attrs: self.attrs.clone(),
659             and_token: self.and_token.clone(),
660             mutability: self.mutability.clone(),
661             expr: self.expr.clone(),
662         }
663     }
664 }
665 #[cfg(feature = "full")]
666 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
667 impl Clone for crate::ExprRepeat {
clone(&self) -> Self668     fn clone(&self) -> Self {
669         crate::ExprRepeat {
670             attrs: self.attrs.clone(),
671             bracket_token: self.bracket_token.clone(),
672             expr: self.expr.clone(),
673             semi_token: self.semi_token.clone(),
674             len: self.len.clone(),
675         }
676     }
677 }
678 #[cfg(feature = "full")]
679 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
680 impl Clone for crate::ExprReturn {
clone(&self) -> Self681     fn clone(&self) -> Self {
682         crate::ExprReturn {
683             attrs: self.attrs.clone(),
684             return_token: self.return_token.clone(),
685             expr: self.expr.clone(),
686         }
687     }
688 }
689 #[cfg(any(feature = "derive", feature = "full"))]
690 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
691 impl Clone for crate::ExprStruct {
clone(&self) -> Self692     fn clone(&self) -> Self {
693         crate::ExprStruct {
694             attrs: self.attrs.clone(),
695             qself: self.qself.clone(),
696             path: self.path.clone(),
697             brace_token: self.brace_token.clone(),
698             fields: self.fields.clone(),
699             dot2_token: self.dot2_token.clone(),
700             rest: self.rest.clone(),
701         }
702     }
703 }
704 #[cfg(feature = "full")]
705 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
706 impl Clone for crate::ExprTry {
clone(&self) -> Self707     fn clone(&self) -> Self {
708         crate::ExprTry {
709             attrs: self.attrs.clone(),
710             expr: self.expr.clone(),
711             question_token: self.question_token.clone(),
712         }
713     }
714 }
715 #[cfg(feature = "full")]
716 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
717 impl Clone for crate::ExprTryBlock {
clone(&self) -> Self718     fn clone(&self) -> Self {
719         crate::ExprTryBlock {
720             attrs: self.attrs.clone(),
721             try_token: self.try_token.clone(),
722             block: self.block.clone(),
723         }
724     }
725 }
726 #[cfg(any(feature = "derive", feature = "full"))]
727 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
728 impl Clone for crate::ExprTuple {
clone(&self) -> Self729     fn clone(&self) -> Self {
730         crate::ExprTuple {
731             attrs: self.attrs.clone(),
732             paren_token: self.paren_token.clone(),
733             elems: self.elems.clone(),
734         }
735     }
736 }
737 #[cfg(any(feature = "derive", feature = "full"))]
738 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
739 impl Clone for crate::ExprUnary {
clone(&self) -> Self740     fn clone(&self) -> Self {
741         crate::ExprUnary {
742             attrs: self.attrs.clone(),
743             op: self.op.clone(),
744             expr: self.expr.clone(),
745         }
746     }
747 }
748 #[cfg(feature = "full")]
749 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
750 impl Clone for crate::ExprUnsafe {
clone(&self) -> Self751     fn clone(&self) -> Self {
752         crate::ExprUnsafe {
753             attrs: self.attrs.clone(),
754             unsafe_token: self.unsafe_token.clone(),
755             block: self.block.clone(),
756         }
757     }
758 }
759 #[cfg(feature = "full")]
760 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
761 impl Clone for crate::ExprWhile {
clone(&self) -> Self762     fn clone(&self) -> Self {
763         crate::ExprWhile {
764             attrs: self.attrs.clone(),
765             label: self.label.clone(),
766             while_token: self.while_token.clone(),
767             cond: self.cond.clone(),
768             body: self.body.clone(),
769         }
770     }
771 }
772 #[cfg(feature = "full")]
773 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
774 impl Clone for crate::ExprYield {
clone(&self) -> Self775     fn clone(&self) -> Self {
776         crate::ExprYield {
777             attrs: self.attrs.clone(),
778             yield_token: self.yield_token.clone(),
779             expr: self.expr.clone(),
780         }
781     }
782 }
783 #[cfg(any(feature = "derive", feature = "full"))]
784 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
785 impl Clone for crate::Field {
clone(&self) -> Self786     fn clone(&self) -> Self {
787         crate::Field {
788             attrs: self.attrs.clone(),
789             vis: self.vis.clone(),
790             mutability: self.mutability.clone(),
791             ident: self.ident.clone(),
792             colon_token: self.colon_token.clone(),
793             ty: self.ty.clone(),
794         }
795     }
796 }
797 #[cfg(any(feature = "derive", feature = "full"))]
798 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
799 impl Clone for crate::FieldMutability {
clone(&self) -> Self800     fn clone(&self) -> Self {
801         match self {
802             crate::FieldMutability::None => crate::FieldMutability::None,
803         }
804     }
805 }
806 #[cfg(feature = "full")]
807 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
808 impl Clone for crate::FieldPat {
clone(&self) -> Self809     fn clone(&self) -> Self {
810         crate::FieldPat {
811             attrs: self.attrs.clone(),
812             member: self.member.clone(),
813             colon_token: self.colon_token.clone(),
814             pat: self.pat.clone(),
815         }
816     }
817 }
818 #[cfg(any(feature = "derive", feature = "full"))]
819 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
820 impl Clone for crate::FieldValue {
clone(&self) -> Self821     fn clone(&self) -> Self {
822         crate::FieldValue {
823             attrs: self.attrs.clone(),
824             member: self.member.clone(),
825             colon_token: self.colon_token.clone(),
826             expr: self.expr.clone(),
827         }
828     }
829 }
830 #[cfg(any(feature = "derive", feature = "full"))]
831 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
832 impl Clone for crate::Fields {
clone(&self) -> Self833     fn clone(&self) -> Self {
834         match self {
835             crate::Fields::Named(v0) => crate::Fields::Named(v0.clone()),
836             crate::Fields::Unnamed(v0) => crate::Fields::Unnamed(v0.clone()),
837             crate::Fields::Unit => crate::Fields::Unit,
838         }
839     }
840 }
841 #[cfg(any(feature = "derive", feature = "full"))]
842 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
843 impl Clone for crate::FieldsNamed {
clone(&self) -> Self844     fn clone(&self) -> Self {
845         crate::FieldsNamed {
846             brace_token: self.brace_token.clone(),
847             named: self.named.clone(),
848         }
849     }
850 }
851 #[cfg(any(feature = "derive", feature = "full"))]
852 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
853 impl Clone for crate::FieldsUnnamed {
clone(&self) -> Self854     fn clone(&self) -> Self {
855         crate::FieldsUnnamed {
856             paren_token: self.paren_token.clone(),
857             unnamed: self.unnamed.clone(),
858         }
859     }
860 }
861 #[cfg(feature = "full")]
862 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
863 impl Clone for crate::File {
clone(&self) -> Self864     fn clone(&self) -> Self {
865         crate::File {
866             shebang: self.shebang.clone(),
867             attrs: self.attrs.clone(),
868             items: self.items.clone(),
869         }
870     }
871 }
872 #[cfg(feature = "full")]
873 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
874 impl Clone for crate::FnArg {
clone(&self) -> Self875     fn clone(&self) -> Self {
876         match self {
877             crate::FnArg::Receiver(v0) => crate::FnArg::Receiver(v0.clone()),
878             crate::FnArg::Typed(v0) => crate::FnArg::Typed(v0.clone()),
879         }
880     }
881 }
882 #[cfg(feature = "full")]
883 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
884 impl Clone for crate::ForeignItem {
clone(&self) -> Self885     fn clone(&self) -> Self {
886         match self {
887             crate::ForeignItem::Fn(v0) => crate::ForeignItem::Fn(v0.clone()),
888             crate::ForeignItem::Static(v0) => crate::ForeignItem::Static(v0.clone()),
889             crate::ForeignItem::Type(v0) => crate::ForeignItem::Type(v0.clone()),
890             crate::ForeignItem::Macro(v0) => crate::ForeignItem::Macro(v0.clone()),
891             crate::ForeignItem::Verbatim(v0) => crate::ForeignItem::Verbatim(v0.clone()),
892         }
893     }
894 }
895 #[cfg(feature = "full")]
896 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
897 impl Clone for crate::ForeignItemFn {
clone(&self) -> Self898     fn clone(&self) -> Self {
899         crate::ForeignItemFn {
900             attrs: self.attrs.clone(),
901             vis: self.vis.clone(),
902             sig: self.sig.clone(),
903             semi_token: self.semi_token.clone(),
904         }
905     }
906 }
907 #[cfg(feature = "full")]
908 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
909 impl Clone for crate::ForeignItemMacro {
clone(&self) -> Self910     fn clone(&self) -> Self {
911         crate::ForeignItemMacro {
912             attrs: self.attrs.clone(),
913             mac: self.mac.clone(),
914             semi_token: self.semi_token.clone(),
915         }
916     }
917 }
918 #[cfg(feature = "full")]
919 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
920 impl Clone for crate::ForeignItemStatic {
clone(&self) -> Self921     fn clone(&self) -> Self {
922         crate::ForeignItemStatic {
923             attrs: self.attrs.clone(),
924             vis: self.vis.clone(),
925             static_token: self.static_token.clone(),
926             mutability: self.mutability.clone(),
927             ident: self.ident.clone(),
928             colon_token: self.colon_token.clone(),
929             ty: self.ty.clone(),
930             semi_token: self.semi_token.clone(),
931         }
932     }
933 }
934 #[cfg(feature = "full")]
935 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
936 impl Clone for crate::ForeignItemType {
clone(&self) -> Self937     fn clone(&self) -> Self {
938         crate::ForeignItemType {
939             attrs: self.attrs.clone(),
940             vis: self.vis.clone(),
941             type_token: self.type_token.clone(),
942             ident: self.ident.clone(),
943             generics: self.generics.clone(),
944             semi_token: self.semi_token.clone(),
945         }
946     }
947 }
948 #[cfg(any(feature = "derive", feature = "full"))]
949 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
950 impl Clone for crate::GenericArgument {
clone(&self) -> Self951     fn clone(&self) -> Self {
952         match self {
953             crate::GenericArgument::Lifetime(v0) => {
954                 crate::GenericArgument::Lifetime(v0.clone())
955             }
956             crate::GenericArgument::Type(v0) => crate::GenericArgument::Type(v0.clone()),
957             crate::GenericArgument::Const(v0) => {
958                 crate::GenericArgument::Const(v0.clone())
959             }
960             crate::GenericArgument::AssocType(v0) => {
961                 crate::GenericArgument::AssocType(v0.clone())
962             }
963             crate::GenericArgument::AssocConst(v0) => {
964                 crate::GenericArgument::AssocConst(v0.clone())
965             }
966             crate::GenericArgument::Constraint(v0) => {
967                 crate::GenericArgument::Constraint(v0.clone())
968             }
969         }
970     }
971 }
972 #[cfg(any(feature = "derive", feature = "full"))]
973 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
974 impl Clone for crate::GenericParam {
clone(&self) -> Self975     fn clone(&self) -> Self {
976         match self {
977             crate::GenericParam::Lifetime(v0) => {
978                 crate::GenericParam::Lifetime(v0.clone())
979             }
980             crate::GenericParam::Type(v0) => crate::GenericParam::Type(v0.clone()),
981             crate::GenericParam::Const(v0) => crate::GenericParam::Const(v0.clone()),
982         }
983     }
984 }
985 #[cfg(any(feature = "derive", feature = "full"))]
986 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
987 impl Clone for crate::Generics {
clone(&self) -> Self988     fn clone(&self) -> Self {
989         crate::Generics {
990             lt_token: self.lt_token.clone(),
991             params: self.params.clone(),
992             gt_token: self.gt_token.clone(),
993             where_clause: self.where_clause.clone(),
994         }
995     }
996 }
997 #[cfg(feature = "full")]
998 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
999 impl Clone for crate::ImplItem {
clone(&self) -> Self1000     fn clone(&self) -> Self {
1001         match self {
1002             crate::ImplItem::Const(v0) => crate::ImplItem::Const(v0.clone()),
1003             crate::ImplItem::Fn(v0) => crate::ImplItem::Fn(v0.clone()),
1004             crate::ImplItem::Type(v0) => crate::ImplItem::Type(v0.clone()),
1005             crate::ImplItem::Macro(v0) => crate::ImplItem::Macro(v0.clone()),
1006             crate::ImplItem::Verbatim(v0) => crate::ImplItem::Verbatim(v0.clone()),
1007         }
1008     }
1009 }
1010 #[cfg(feature = "full")]
1011 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1012 impl Clone for crate::ImplItemConst {
clone(&self) -> Self1013     fn clone(&self) -> Self {
1014         crate::ImplItemConst {
1015             attrs: self.attrs.clone(),
1016             vis: self.vis.clone(),
1017             defaultness: self.defaultness.clone(),
1018             const_token: self.const_token.clone(),
1019             ident: self.ident.clone(),
1020             generics: self.generics.clone(),
1021             colon_token: self.colon_token.clone(),
1022             ty: self.ty.clone(),
1023             eq_token: self.eq_token.clone(),
1024             expr: self.expr.clone(),
1025             semi_token: self.semi_token.clone(),
1026         }
1027     }
1028 }
1029 #[cfg(feature = "full")]
1030 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1031 impl Clone for crate::ImplItemFn {
clone(&self) -> Self1032     fn clone(&self) -> Self {
1033         crate::ImplItemFn {
1034             attrs: self.attrs.clone(),
1035             vis: self.vis.clone(),
1036             defaultness: self.defaultness.clone(),
1037             sig: self.sig.clone(),
1038             block: self.block.clone(),
1039         }
1040     }
1041 }
1042 #[cfg(feature = "full")]
1043 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1044 impl Clone for crate::ImplItemMacro {
clone(&self) -> Self1045     fn clone(&self) -> Self {
1046         crate::ImplItemMacro {
1047             attrs: self.attrs.clone(),
1048             mac: self.mac.clone(),
1049             semi_token: self.semi_token.clone(),
1050         }
1051     }
1052 }
1053 #[cfg(feature = "full")]
1054 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1055 impl Clone for crate::ImplItemType {
clone(&self) -> Self1056     fn clone(&self) -> Self {
1057         crate::ImplItemType {
1058             attrs: self.attrs.clone(),
1059             vis: self.vis.clone(),
1060             defaultness: self.defaultness.clone(),
1061             type_token: self.type_token.clone(),
1062             ident: self.ident.clone(),
1063             generics: self.generics.clone(),
1064             eq_token: self.eq_token.clone(),
1065             ty: self.ty.clone(),
1066             semi_token: self.semi_token.clone(),
1067         }
1068     }
1069 }
1070 #[cfg(feature = "full")]
1071 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1072 impl Clone for crate::ImplRestriction {
clone(&self) -> Self1073     fn clone(&self) -> Self {
1074         match *self {}
1075     }
1076 }
1077 #[cfg(any(feature = "derive", feature = "full"))]
1078 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1079 impl Clone for crate::Index {
clone(&self) -> Self1080     fn clone(&self) -> Self {
1081         crate::Index {
1082             index: self.index.clone(),
1083             span: self.span.clone(),
1084         }
1085     }
1086 }
1087 #[cfg(feature = "full")]
1088 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1089 impl Clone for crate::Item {
clone(&self) -> Self1090     fn clone(&self) -> Self {
1091         match self {
1092             crate::Item::Const(v0) => crate::Item::Const(v0.clone()),
1093             crate::Item::Enum(v0) => crate::Item::Enum(v0.clone()),
1094             crate::Item::ExternCrate(v0) => crate::Item::ExternCrate(v0.clone()),
1095             crate::Item::Fn(v0) => crate::Item::Fn(v0.clone()),
1096             crate::Item::ForeignMod(v0) => crate::Item::ForeignMod(v0.clone()),
1097             crate::Item::Impl(v0) => crate::Item::Impl(v0.clone()),
1098             crate::Item::Macro(v0) => crate::Item::Macro(v0.clone()),
1099             crate::Item::Mod(v0) => crate::Item::Mod(v0.clone()),
1100             crate::Item::Static(v0) => crate::Item::Static(v0.clone()),
1101             crate::Item::Struct(v0) => crate::Item::Struct(v0.clone()),
1102             crate::Item::Trait(v0) => crate::Item::Trait(v0.clone()),
1103             crate::Item::TraitAlias(v0) => crate::Item::TraitAlias(v0.clone()),
1104             crate::Item::Type(v0) => crate::Item::Type(v0.clone()),
1105             crate::Item::Union(v0) => crate::Item::Union(v0.clone()),
1106             crate::Item::Use(v0) => crate::Item::Use(v0.clone()),
1107             crate::Item::Verbatim(v0) => crate::Item::Verbatim(v0.clone()),
1108         }
1109     }
1110 }
1111 #[cfg(feature = "full")]
1112 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1113 impl Clone for crate::ItemConst {
clone(&self) -> Self1114     fn clone(&self) -> Self {
1115         crate::ItemConst {
1116             attrs: self.attrs.clone(),
1117             vis: self.vis.clone(),
1118             const_token: self.const_token.clone(),
1119             ident: self.ident.clone(),
1120             generics: self.generics.clone(),
1121             colon_token: self.colon_token.clone(),
1122             ty: self.ty.clone(),
1123             eq_token: self.eq_token.clone(),
1124             expr: self.expr.clone(),
1125             semi_token: self.semi_token.clone(),
1126         }
1127     }
1128 }
1129 #[cfg(feature = "full")]
1130 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1131 impl Clone for crate::ItemEnum {
clone(&self) -> Self1132     fn clone(&self) -> Self {
1133         crate::ItemEnum {
1134             attrs: self.attrs.clone(),
1135             vis: self.vis.clone(),
1136             enum_token: self.enum_token.clone(),
1137             ident: self.ident.clone(),
1138             generics: self.generics.clone(),
1139             brace_token: self.brace_token.clone(),
1140             variants: self.variants.clone(),
1141         }
1142     }
1143 }
1144 #[cfg(feature = "full")]
1145 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1146 impl Clone for crate::ItemExternCrate {
clone(&self) -> Self1147     fn clone(&self) -> Self {
1148         crate::ItemExternCrate {
1149             attrs: self.attrs.clone(),
1150             vis: self.vis.clone(),
1151             extern_token: self.extern_token.clone(),
1152             crate_token: self.crate_token.clone(),
1153             ident: self.ident.clone(),
1154             rename: self.rename.clone(),
1155             semi_token: self.semi_token.clone(),
1156         }
1157     }
1158 }
1159 #[cfg(feature = "full")]
1160 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1161 impl Clone for crate::ItemFn {
clone(&self) -> Self1162     fn clone(&self) -> Self {
1163         crate::ItemFn {
1164             attrs: self.attrs.clone(),
1165             vis: self.vis.clone(),
1166             sig: self.sig.clone(),
1167             block: self.block.clone(),
1168         }
1169     }
1170 }
1171 #[cfg(feature = "full")]
1172 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1173 impl Clone for crate::ItemForeignMod {
clone(&self) -> Self1174     fn clone(&self) -> Self {
1175         crate::ItemForeignMod {
1176             attrs: self.attrs.clone(),
1177             unsafety: self.unsafety.clone(),
1178             abi: self.abi.clone(),
1179             brace_token: self.brace_token.clone(),
1180             items: self.items.clone(),
1181         }
1182     }
1183 }
1184 #[cfg(feature = "full")]
1185 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1186 impl Clone for crate::ItemImpl {
clone(&self) -> Self1187     fn clone(&self) -> Self {
1188         crate::ItemImpl {
1189             attrs: self.attrs.clone(),
1190             defaultness: self.defaultness.clone(),
1191             unsafety: self.unsafety.clone(),
1192             impl_token: self.impl_token.clone(),
1193             generics: self.generics.clone(),
1194             trait_: self.trait_.clone(),
1195             self_ty: self.self_ty.clone(),
1196             brace_token: self.brace_token.clone(),
1197             items: self.items.clone(),
1198         }
1199     }
1200 }
1201 #[cfg(feature = "full")]
1202 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1203 impl Clone for crate::ItemMacro {
clone(&self) -> Self1204     fn clone(&self) -> Self {
1205         crate::ItemMacro {
1206             attrs: self.attrs.clone(),
1207             ident: self.ident.clone(),
1208             mac: self.mac.clone(),
1209             semi_token: self.semi_token.clone(),
1210         }
1211     }
1212 }
1213 #[cfg(feature = "full")]
1214 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1215 impl Clone for crate::ItemMod {
clone(&self) -> Self1216     fn clone(&self) -> Self {
1217         crate::ItemMod {
1218             attrs: self.attrs.clone(),
1219             vis: self.vis.clone(),
1220             unsafety: self.unsafety.clone(),
1221             mod_token: self.mod_token.clone(),
1222             ident: self.ident.clone(),
1223             content: self.content.clone(),
1224             semi: self.semi.clone(),
1225         }
1226     }
1227 }
1228 #[cfg(feature = "full")]
1229 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1230 impl Clone for crate::ItemStatic {
clone(&self) -> Self1231     fn clone(&self) -> Self {
1232         crate::ItemStatic {
1233             attrs: self.attrs.clone(),
1234             vis: self.vis.clone(),
1235             static_token: self.static_token.clone(),
1236             mutability: self.mutability.clone(),
1237             ident: self.ident.clone(),
1238             colon_token: self.colon_token.clone(),
1239             ty: self.ty.clone(),
1240             eq_token: self.eq_token.clone(),
1241             expr: self.expr.clone(),
1242             semi_token: self.semi_token.clone(),
1243         }
1244     }
1245 }
1246 #[cfg(feature = "full")]
1247 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1248 impl Clone for crate::ItemStruct {
clone(&self) -> Self1249     fn clone(&self) -> Self {
1250         crate::ItemStruct {
1251             attrs: self.attrs.clone(),
1252             vis: self.vis.clone(),
1253             struct_token: self.struct_token.clone(),
1254             ident: self.ident.clone(),
1255             generics: self.generics.clone(),
1256             fields: self.fields.clone(),
1257             semi_token: self.semi_token.clone(),
1258         }
1259     }
1260 }
1261 #[cfg(feature = "full")]
1262 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1263 impl Clone for crate::ItemTrait {
clone(&self) -> Self1264     fn clone(&self) -> Self {
1265         crate::ItemTrait {
1266             attrs: self.attrs.clone(),
1267             vis: self.vis.clone(),
1268             unsafety: self.unsafety.clone(),
1269             auto_token: self.auto_token.clone(),
1270             restriction: self.restriction.clone(),
1271             trait_token: self.trait_token.clone(),
1272             ident: self.ident.clone(),
1273             generics: self.generics.clone(),
1274             colon_token: self.colon_token.clone(),
1275             supertraits: self.supertraits.clone(),
1276             brace_token: self.brace_token.clone(),
1277             items: self.items.clone(),
1278         }
1279     }
1280 }
1281 #[cfg(feature = "full")]
1282 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1283 impl Clone for crate::ItemTraitAlias {
clone(&self) -> Self1284     fn clone(&self) -> Self {
1285         crate::ItemTraitAlias {
1286             attrs: self.attrs.clone(),
1287             vis: self.vis.clone(),
1288             trait_token: self.trait_token.clone(),
1289             ident: self.ident.clone(),
1290             generics: self.generics.clone(),
1291             eq_token: self.eq_token.clone(),
1292             bounds: self.bounds.clone(),
1293             semi_token: self.semi_token.clone(),
1294         }
1295     }
1296 }
1297 #[cfg(feature = "full")]
1298 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1299 impl Clone for crate::ItemType {
clone(&self) -> Self1300     fn clone(&self) -> Self {
1301         crate::ItemType {
1302             attrs: self.attrs.clone(),
1303             vis: self.vis.clone(),
1304             type_token: self.type_token.clone(),
1305             ident: self.ident.clone(),
1306             generics: self.generics.clone(),
1307             eq_token: self.eq_token.clone(),
1308             ty: self.ty.clone(),
1309             semi_token: self.semi_token.clone(),
1310         }
1311     }
1312 }
1313 #[cfg(feature = "full")]
1314 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1315 impl Clone for crate::ItemUnion {
clone(&self) -> Self1316     fn clone(&self) -> Self {
1317         crate::ItemUnion {
1318             attrs: self.attrs.clone(),
1319             vis: self.vis.clone(),
1320             union_token: self.union_token.clone(),
1321             ident: self.ident.clone(),
1322             generics: self.generics.clone(),
1323             fields: self.fields.clone(),
1324         }
1325     }
1326 }
1327 #[cfg(feature = "full")]
1328 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1329 impl Clone for crate::ItemUse {
clone(&self) -> Self1330     fn clone(&self) -> Self {
1331         crate::ItemUse {
1332             attrs: self.attrs.clone(),
1333             vis: self.vis.clone(),
1334             use_token: self.use_token.clone(),
1335             leading_colon: self.leading_colon.clone(),
1336             tree: self.tree.clone(),
1337             semi_token: self.semi_token.clone(),
1338         }
1339     }
1340 }
1341 #[cfg(feature = "full")]
1342 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1343 impl Clone for crate::Label {
clone(&self) -> Self1344     fn clone(&self) -> Self {
1345         crate::Label {
1346             name: self.name.clone(),
1347             colon_token: self.colon_token.clone(),
1348         }
1349     }
1350 }
1351 #[cfg(any(feature = "derive", feature = "full"))]
1352 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1353 impl Clone for crate::LifetimeParam {
clone(&self) -> Self1354     fn clone(&self) -> Self {
1355         crate::LifetimeParam {
1356             attrs: self.attrs.clone(),
1357             lifetime: self.lifetime.clone(),
1358             colon_token: self.colon_token.clone(),
1359             bounds: self.bounds.clone(),
1360         }
1361     }
1362 }
1363 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1364 impl Clone for crate::Lit {
clone(&self) -> Self1365     fn clone(&self) -> Self {
1366         match self {
1367             crate::Lit::Str(v0) => crate::Lit::Str(v0.clone()),
1368             crate::Lit::ByteStr(v0) => crate::Lit::ByteStr(v0.clone()),
1369             crate::Lit::CStr(v0) => crate::Lit::CStr(v0.clone()),
1370             crate::Lit::Byte(v0) => crate::Lit::Byte(v0.clone()),
1371             crate::Lit::Char(v0) => crate::Lit::Char(v0.clone()),
1372             crate::Lit::Int(v0) => crate::Lit::Int(v0.clone()),
1373             crate::Lit::Float(v0) => crate::Lit::Float(v0.clone()),
1374             crate::Lit::Bool(v0) => crate::Lit::Bool(v0.clone()),
1375             crate::Lit::Verbatim(v0) => crate::Lit::Verbatim(v0.clone()),
1376         }
1377     }
1378 }
1379 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1380 impl Clone for crate::LitBool {
clone(&self) -> Self1381     fn clone(&self) -> Self {
1382         crate::LitBool {
1383             value: self.value.clone(),
1384             span: self.span.clone(),
1385         }
1386     }
1387 }
1388 #[cfg(feature = "full")]
1389 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1390 impl Clone for crate::Local {
clone(&self) -> Self1391     fn clone(&self) -> Self {
1392         crate::Local {
1393             attrs: self.attrs.clone(),
1394             let_token: self.let_token.clone(),
1395             pat: self.pat.clone(),
1396             init: self.init.clone(),
1397             semi_token: self.semi_token.clone(),
1398         }
1399     }
1400 }
1401 #[cfg(feature = "full")]
1402 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1403 impl Clone for crate::LocalInit {
clone(&self) -> Self1404     fn clone(&self) -> Self {
1405         crate::LocalInit {
1406             eq_token: self.eq_token.clone(),
1407             expr: self.expr.clone(),
1408             diverge: self.diverge.clone(),
1409         }
1410     }
1411 }
1412 #[cfg(any(feature = "derive", feature = "full"))]
1413 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1414 impl Clone for crate::Macro {
clone(&self) -> Self1415     fn clone(&self) -> Self {
1416         crate::Macro {
1417             path: self.path.clone(),
1418             bang_token: self.bang_token.clone(),
1419             delimiter: self.delimiter.clone(),
1420             tokens: self.tokens.clone(),
1421         }
1422     }
1423 }
1424 #[cfg(any(feature = "derive", feature = "full"))]
1425 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1426 impl Clone for crate::MacroDelimiter {
clone(&self) -> Self1427     fn clone(&self) -> Self {
1428         match self {
1429             crate::MacroDelimiter::Paren(v0) => crate::MacroDelimiter::Paren(v0.clone()),
1430             crate::MacroDelimiter::Brace(v0) => crate::MacroDelimiter::Brace(v0.clone()),
1431             crate::MacroDelimiter::Bracket(v0) => {
1432                 crate::MacroDelimiter::Bracket(v0.clone())
1433             }
1434         }
1435     }
1436 }
1437 #[cfg(any(feature = "derive", feature = "full"))]
1438 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1439 impl Clone for crate::Member {
clone(&self) -> Self1440     fn clone(&self) -> Self {
1441         match self {
1442             crate::Member::Named(v0) => crate::Member::Named(v0.clone()),
1443             crate::Member::Unnamed(v0) => crate::Member::Unnamed(v0.clone()),
1444         }
1445     }
1446 }
1447 #[cfg(any(feature = "derive", feature = "full"))]
1448 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1449 impl Clone for crate::Meta {
clone(&self) -> Self1450     fn clone(&self) -> Self {
1451         match self {
1452             crate::Meta::Path(v0) => crate::Meta::Path(v0.clone()),
1453             crate::Meta::List(v0) => crate::Meta::List(v0.clone()),
1454             crate::Meta::NameValue(v0) => crate::Meta::NameValue(v0.clone()),
1455         }
1456     }
1457 }
1458 #[cfg(any(feature = "derive", feature = "full"))]
1459 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1460 impl Clone for crate::MetaList {
clone(&self) -> Self1461     fn clone(&self) -> Self {
1462         crate::MetaList {
1463             path: self.path.clone(),
1464             delimiter: self.delimiter.clone(),
1465             tokens: self.tokens.clone(),
1466         }
1467     }
1468 }
1469 #[cfg(any(feature = "derive", feature = "full"))]
1470 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1471 impl Clone for crate::MetaNameValue {
clone(&self) -> Self1472     fn clone(&self) -> Self {
1473         crate::MetaNameValue {
1474             path: self.path.clone(),
1475             eq_token: self.eq_token.clone(),
1476             value: self.value.clone(),
1477         }
1478     }
1479 }
1480 #[cfg(any(feature = "derive", feature = "full"))]
1481 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1482 impl Clone for crate::ParenthesizedGenericArguments {
clone(&self) -> Self1483     fn clone(&self) -> Self {
1484         crate::ParenthesizedGenericArguments {
1485             paren_token: self.paren_token.clone(),
1486             inputs: self.inputs.clone(),
1487             output: self.output.clone(),
1488         }
1489     }
1490 }
1491 #[cfg(feature = "full")]
1492 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1493 impl Clone for crate::Pat {
clone(&self) -> Self1494     fn clone(&self) -> Self {
1495         match self {
1496             crate::Pat::Const(v0) => crate::Pat::Const(v0.clone()),
1497             crate::Pat::Ident(v0) => crate::Pat::Ident(v0.clone()),
1498             crate::Pat::Lit(v0) => crate::Pat::Lit(v0.clone()),
1499             crate::Pat::Macro(v0) => crate::Pat::Macro(v0.clone()),
1500             crate::Pat::Or(v0) => crate::Pat::Or(v0.clone()),
1501             crate::Pat::Paren(v0) => crate::Pat::Paren(v0.clone()),
1502             crate::Pat::Path(v0) => crate::Pat::Path(v0.clone()),
1503             crate::Pat::Range(v0) => crate::Pat::Range(v0.clone()),
1504             crate::Pat::Reference(v0) => crate::Pat::Reference(v0.clone()),
1505             crate::Pat::Rest(v0) => crate::Pat::Rest(v0.clone()),
1506             crate::Pat::Slice(v0) => crate::Pat::Slice(v0.clone()),
1507             crate::Pat::Struct(v0) => crate::Pat::Struct(v0.clone()),
1508             crate::Pat::Tuple(v0) => crate::Pat::Tuple(v0.clone()),
1509             crate::Pat::TupleStruct(v0) => crate::Pat::TupleStruct(v0.clone()),
1510             crate::Pat::Type(v0) => crate::Pat::Type(v0.clone()),
1511             crate::Pat::Verbatim(v0) => crate::Pat::Verbatim(v0.clone()),
1512             crate::Pat::Wild(v0) => crate::Pat::Wild(v0.clone()),
1513         }
1514     }
1515 }
1516 #[cfg(feature = "full")]
1517 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1518 impl Clone for crate::PatIdent {
clone(&self) -> Self1519     fn clone(&self) -> Self {
1520         crate::PatIdent {
1521             attrs: self.attrs.clone(),
1522             by_ref: self.by_ref.clone(),
1523             mutability: self.mutability.clone(),
1524             ident: self.ident.clone(),
1525             subpat: self.subpat.clone(),
1526         }
1527     }
1528 }
1529 #[cfg(feature = "full")]
1530 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1531 impl Clone for crate::PatOr {
clone(&self) -> Self1532     fn clone(&self) -> Self {
1533         crate::PatOr {
1534             attrs: self.attrs.clone(),
1535             leading_vert: self.leading_vert.clone(),
1536             cases: self.cases.clone(),
1537         }
1538     }
1539 }
1540 #[cfg(feature = "full")]
1541 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1542 impl Clone for crate::PatParen {
clone(&self) -> Self1543     fn clone(&self) -> Self {
1544         crate::PatParen {
1545             attrs: self.attrs.clone(),
1546             paren_token: self.paren_token.clone(),
1547             pat: self.pat.clone(),
1548         }
1549     }
1550 }
1551 #[cfg(feature = "full")]
1552 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1553 impl Clone for crate::PatReference {
clone(&self) -> Self1554     fn clone(&self) -> Self {
1555         crate::PatReference {
1556             attrs: self.attrs.clone(),
1557             and_token: self.and_token.clone(),
1558             mutability: self.mutability.clone(),
1559             pat: self.pat.clone(),
1560         }
1561     }
1562 }
1563 #[cfg(feature = "full")]
1564 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1565 impl Clone for crate::PatRest {
clone(&self) -> Self1566     fn clone(&self) -> Self {
1567         crate::PatRest {
1568             attrs: self.attrs.clone(),
1569             dot2_token: self.dot2_token.clone(),
1570         }
1571     }
1572 }
1573 #[cfg(feature = "full")]
1574 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1575 impl Clone for crate::PatSlice {
clone(&self) -> Self1576     fn clone(&self) -> Self {
1577         crate::PatSlice {
1578             attrs: self.attrs.clone(),
1579             bracket_token: self.bracket_token.clone(),
1580             elems: self.elems.clone(),
1581         }
1582     }
1583 }
1584 #[cfg(feature = "full")]
1585 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1586 impl Clone for crate::PatStruct {
clone(&self) -> Self1587     fn clone(&self) -> Self {
1588         crate::PatStruct {
1589             attrs: self.attrs.clone(),
1590             qself: self.qself.clone(),
1591             path: self.path.clone(),
1592             brace_token: self.brace_token.clone(),
1593             fields: self.fields.clone(),
1594             rest: self.rest.clone(),
1595         }
1596     }
1597 }
1598 #[cfg(feature = "full")]
1599 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1600 impl Clone for crate::PatTuple {
clone(&self) -> Self1601     fn clone(&self) -> Self {
1602         crate::PatTuple {
1603             attrs: self.attrs.clone(),
1604             paren_token: self.paren_token.clone(),
1605             elems: self.elems.clone(),
1606         }
1607     }
1608 }
1609 #[cfg(feature = "full")]
1610 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1611 impl Clone for crate::PatTupleStruct {
clone(&self) -> Self1612     fn clone(&self) -> Self {
1613         crate::PatTupleStruct {
1614             attrs: self.attrs.clone(),
1615             qself: self.qself.clone(),
1616             path: self.path.clone(),
1617             paren_token: self.paren_token.clone(),
1618             elems: self.elems.clone(),
1619         }
1620     }
1621 }
1622 #[cfg(feature = "full")]
1623 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1624 impl Clone for crate::PatType {
clone(&self) -> Self1625     fn clone(&self) -> Self {
1626         crate::PatType {
1627             attrs: self.attrs.clone(),
1628             pat: self.pat.clone(),
1629             colon_token: self.colon_token.clone(),
1630             ty: self.ty.clone(),
1631         }
1632     }
1633 }
1634 #[cfg(feature = "full")]
1635 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1636 impl Clone for crate::PatWild {
clone(&self) -> Self1637     fn clone(&self) -> Self {
1638         crate::PatWild {
1639             attrs: self.attrs.clone(),
1640             underscore_token: self.underscore_token.clone(),
1641         }
1642     }
1643 }
1644 #[cfg(any(feature = "derive", feature = "full"))]
1645 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1646 impl Clone for crate::Path {
clone(&self) -> Self1647     fn clone(&self) -> Self {
1648         crate::Path {
1649             leading_colon: self.leading_colon.clone(),
1650             segments: self.segments.clone(),
1651         }
1652     }
1653 }
1654 #[cfg(any(feature = "derive", feature = "full"))]
1655 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1656 impl Clone for crate::PathArguments {
clone(&self) -> Self1657     fn clone(&self) -> Self {
1658         match self {
1659             crate::PathArguments::None => crate::PathArguments::None,
1660             crate::PathArguments::AngleBracketed(v0) => {
1661                 crate::PathArguments::AngleBracketed(v0.clone())
1662             }
1663             crate::PathArguments::Parenthesized(v0) => {
1664                 crate::PathArguments::Parenthesized(v0.clone())
1665             }
1666         }
1667     }
1668 }
1669 #[cfg(any(feature = "derive", feature = "full"))]
1670 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1671 impl Clone for crate::PathSegment {
clone(&self) -> Self1672     fn clone(&self) -> Self {
1673         crate::PathSegment {
1674             ident: self.ident.clone(),
1675             arguments: self.arguments.clone(),
1676         }
1677     }
1678 }
1679 #[cfg(feature = "full")]
1680 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1681 impl Clone for crate::PointerMutability {
clone(&self) -> Self1682     fn clone(&self) -> Self {
1683         match self {
1684             crate::PointerMutability::Const(v0) => {
1685                 crate::PointerMutability::Const(v0.clone())
1686             }
1687             crate::PointerMutability::Mut(v0) => {
1688                 crate::PointerMutability::Mut(v0.clone())
1689             }
1690         }
1691     }
1692 }
1693 #[cfg(feature = "full")]
1694 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1695 impl Clone for crate::PreciseCapture {
clone(&self) -> Self1696     fn clone(&self) -> Self {
1697         crate::PreciseCapture {
1698             use_token: self.use_token.clone(),
1699             lt_token: self.lt_token.clone(),
1700             params: self.params.clone(),
1701             gt_token: self.gt_token.clone(),
1702         }
1703     }
1704 }
1705 #[cfg(any(feature = "derive", feature = "full"))]
1706 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1707 impl Clone for crate::PredicateLifetime {
clone(&self) -> Self1708     fn clone(&self) -> Self {
1709         crate::PredicateLifetime {
1710             lifetime: self.lifetime.clone(),
1711             colon_token: self.colon_token.clone(),
1712             bounds: self.bounds.clone(),
1713         }
1714     }
1715 }
1716 #[cfg(any(feature = "derive", feature = "full"))]
1717 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1718 impl Clone for crate::PredicateType {
clone(&self) -> Self1719     fn clone(&self) -> Self {
1720         crate::PredicateType {
1721             lifetimes: self.lifetimes.clone(),
1722             bounded_ty: self.bounded_ty.clone(),
1723             colon_token: self.colon_token.clone(),
1724             bounds: self.bounds.clone(),
1725         }
1726     }
1727 }
1728 #[cfg(any(feature = "derive", feature = "full"))]
1729 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1730 impl Clone for crate::QSelf {
clone(&self) -> Self1731     fn clone(&self) -> Self {
1732         crate::QSelf {
1733             lt_token: self.lt_token.clone(),
1734             ty: self.ty.clone(),
1735             position: self.position.clone(),
1736             as_token: self.as_token.clone(),
1737             gt_token: self.gt_token.clone(),
1738         }
1739     }
1740 }
1741 #[cfg(feature = "full")]
1742 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1743 impl Copy for crate::RangeLimits {}
1744 #[cfg(feature = "full")]
1745 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1746 impl Clone for crate::RangeLimits {
clone(&self) -> Self1747     fn clone(&self) -> Self {
1748         *self
1749     }
1750 }
1751 #[cfg(feature = "full")]
1752 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1753 impl Clone for crate::Receiver {
clone(&self) -> Self1754     fn clone(&self) -> Self {
1755         crate::Receiver {
1756             attrs: self.attrs.clone(),
1757             reference: self.reference.clone(),
1758             mutability: self.mutability.clone(),
1759             self_token: self.self_token.clone(),
1760             colon_token: self.colon_token.clone(),
1761             ty: self.ty.clone(),
1762         }
1763     }
1764 }
1765 #[cfg(any(feature = "derive", feature = "full"))]
1766 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1767 impl Clone for crate::ReturnType {
clone(&self) -> Self1768     fn clone(&self) -> Self {
1769         match self {
1770             crate::ReturnType::Default => crate::ReturnType::Default,
1771             crate::ReturnType::Type(v0, v1) => {
1772                 crate::ReturnType::Type(v0.clone(), v1.clone())
1773             }
1774         }
1775     }
1776 }
1777 #[cfg(feature = "full")]
1778 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1779 impl Clone for crate::Signature {
clone(&self) -> Self1780     fn clone(&self) -> Self {
1781         crate::Signature {
1782             constness: self.constness.clone(),
1783             asyncness: self.asyncness.clone(),
1784             unsafety: self.unsafety.clone(),
1785             abi: self.abi.clone(),
1786             fn_token: self.fn_token.clone(),
1787             ident: self.ident.clone(),
1788             generics: self.generics.clone(),
1789             paren_token: self.paren_token.clone(),
1790             inputs: self.inputs.clone(),
1791             variadic: self.variadic.clone(),
1792             output: self.output.clone(),
1793         }
1794     }
1795 }
1796 #[cfg(feature = "full")]
1797 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1798 impl Clone for crate::StaticMutability {
clone(&self) -> Self1799     fn clone(&self) -> Self {
1800         match self {
1801             crate::StaticMutability::Mut(v0) => crate::StaticMutability::Mut(v0.clone()),
1802             crate::StaticMutability::None => crate::StaticMutability::None,
1803         }
1804     }
1805 }
1806 #[cfg(feature = "full")]
1807 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1808 impl Clone for crate::Stmt {
clone(&self) -> Self1809     fn clone(&self) -> Self {
1810         match self {
1811             crate::Stmt::Local(v0) => crate::Stmt::Local(v0.clone()),
1812             crate::Stmt::Item(v0) => crate::Stmt::Item(v0.clone()),
1813             crate::Stmt::Expr(v0, v1) => crate::Stmt::Expr(v0.clone(), v1.clone()),
1814             crate::Stmt::Macro(v0) => crate::Stmt::Macro(v0.clone()),
1815         }
1816     }
1817 }
1818 #[cfg(feature = "full")]
1819 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1820 impl Clone for crate::StmtMacro {
clone(&self) -> Self1821     fn clone(&self) -> Self {
1822         crate::StmtMacro {
1823             attrs: self.attrs.clone(),
1824             mac: self.mac.clone(),
1825             semi_token: self.semi_token.clone(),
1826         }
1827     }
1828 }
1829 #[cfg(any(feature = "derive", feature = "full"))]
1830 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1831 impl Clone for crate::TraitBound {
clone(&self) -> Self1832     fn clone(&self) -> Self {
1833         crate::TraitBound {
1834             paren_token: self.paren_token.clone(),
1835             modifier: self.modifier.clone(),
1836             lifetimes: self.lifetimes.clone(),
1837             path: self.path.clone(),
1838         }
1839     }
1840 }
1841 #[cfg(any(feature = "derive", feature = "full"))]
1842 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1843 impl Copy for crate::TraitBoundModifier {}
1844 #[cfg(any(feature = "derive", feature = "full"))]
1845 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1846 impl Clone for crate::TraitBoundModifier {
clone(&self) -> Self1847     fn clone(&self) -> Self {
1848         *self
1849     }
1850 }
1851 #[cfg(feature = "full")]
1852 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1853 impl Clone for crate::TraitItem {
clone(&self) -> Self1854     fn clone(&self) -> Self {
1855         match self {
1856             crate::TraitItem::Const(v0) => crate::TraitItem::Const(v0.clone()),
1857             crate::TraitItem::Fn(v0) => crate::TraitItem::Fn(v0.clone()),
1858             crate::TraitItem::Type(v0) => crate::TraitItem::Type(v0.clone()),
1859             crate::TraitItem::Macro(v0) => crate::TraitItem::Macro(v0.clone()),
1860             crate::TraitItem::Verbatim(v0) => crate::TraitItem::Verbatim(v0.clone()),
1861         }
1862     }
1863 }
1864 #[cfg(feature = "full")]
1865 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1866 impl Clone for crate::TraitItemConst {
clone(&self) -> Self1867     fn clone(&self) -> Self {
1868         crate::TraitItemConst {
1869             attrs: self.attrs.clone(),
1870             const_token: self.const_token.clone(),
1871             ident: self.ident.clone(),
1872             generics: self.generics.clone(),
1873             colon_token: self.colon_token.clone(),
1874             ty: self.ty.clone(),
1875             default: self.default.clone(),
1876             semi_token: self.semi_token.clone(),
1877         }
1878     }
1879 }
1880 #[cfg(feature = "full")]
1881 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1882 impl Clone for crate::TraitItemFn {
clone(&self) -> Self1883     fn clone(&self) -> Self {
1884         crate::TraitItemFn {
1885             attrs: self.attrs.clone(),
1886             sig: self.sig.clone(),
1887             default: self.default.clone(),
1888             semi_token: self.semi_token.clone(),
1889         }
1890     }
1891 }
1892 #[cfg(feature = "full")]
1893 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1894 impl Clone for crate::TraitItemMacro {
clone(&self) -> Self1895     fn clone(&self) -> Self {
1896         crate::TraitItemMacro {
1897             attrs: self.attrs.clone(),
1898             mac: self.mac.clone(),
1899             semi_token: self.semi_token.clone(),
1900         }
1901     }
1902 }
1903 #[cfg(feature = "full")]
1904 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1905 impl Clone for crate::TraitItemType {
clone(&self) -> Self1906     fn clone(&self) -> Self {
1907         crate::TraitItemType {
1908             attrs: self.attrs.clone(),
1909             type_token: self.type_token.clone(),
1910             ident: self.ident.clone(),
1911             generics: self.generics.clone(),
1912             colon_token: self.colon_token.clone(),
1913             bounds: self.bounds.clone(),
1914             default: self.default.clone(),
1915             semi_token: self.semi_token.clone(),
1916         }
1917     }
1918 }
1919 #[cfg(any(feature = "derive", feature = "full"))]
1920 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1921 impl Clone for crate::Type {
clone(&self) -> Self1922     fn clone(&self) -> Self {
1923         match self {
1924             crate::Type::Array(v0) => crate::Type::Array(v0.clone()),
1925             crate::Type::BareFn(v0) => crate::Type::BareFn(v0.clone()),
1926             crate::Type::Group(v0) => crate::Type::Group(v0.clone()),
1927             crate::Type::ImplTrait(v0) => crate::Type::ImplTrait(v0.clone()),
1928             crate::Type::Infer(v0) => crate::Type::Infer(v0.clone()),
1929             crate::Type::Macro(v0) => crate::Type::Macro(v0.clone()),
1930             crate::Type::Never(v0) => crate::Type::Never(v0.clone()),
1931             crate::Type::Paren(v0) => crate::Type::Paren(v0.clone()),
1932             crate::Type::Path(v0) => crate::Type::Path(v0.clone()),
1933             crate::Type::Ptr(v0) => crate::Type::Ptr(v0.clone()),
1934             crate::Type::Reference(v0) => crate::Type::Reference(v0.clone()),
1935             crate::Type::Slice(v0) => crate::Type::Slice(v0.clone()),
1936             crate::Type::TraitObject(v0) => crate::Type::TraitObject(v0.clone()),
1937             crate::Type::Tuple(v0) => crate::Type::Tuple(v0.clone()),
1938             crate::Type::Verbatim(v0) => crate::Type::Verbatim(v0.clone()),
1939         }
1940     }
1941 }
1942 #[cfg(any(feature = "derive", feature = "full"))]
1943 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1944 impl Clone for crate::TypeArray {
clone(&self) -> Self1945     fn clone(&self) -> Self {
1946         crate::TypeArray {
1947             bracket_token: self.bracket_token.clone(),
1948             elem: self.elem.clone(),
1949             semi_token: self.semi_token.clone(),
1950             len: self.len.clone(),
1951         }
1952     }
1953 }
1954 #[cfg(any(feature = "derive", feature = "full"))]
1955 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1956 impl Clone for crate::TypeBareFn {
clone(&self) -> Self1957     fn clone(&self) -> Self {
1958         crate::TypeBareFn {
1959             lifetimes: self.lifetimes.clone(),
1960             unsafety: self.unsafety.clone(),
1961             abi: self.abi.clone(),
1962             fn_token: self.fn_token.clone(),
1963             paren_token: self.paren_token.clone(),
1964             inputs: self.inputs.clone(),
1965             variadic: self.variadic.clone(),
1966             output: self.output.clone(),
1967         }
1968     }
1969 }
1970 #[cfg(any(feature = "derive", feature = "full"))]
1971 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1972 impl Clone for crate::TypeGroup {
clone(&self) -> Self1973     fn clone(&self) -> Self {
1974         crate::TypeGroup {
1975             group_token: self.group_token.clone(),
1976             elem: self.elem.clone(),
1977         }
1978     }
1979 }
1980 #[cfg(any(feature = "derive", feature = "full"))]
1981 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1982 impl Clone for crate::TypeImplTrait {
clone(&self) -> Self1983     fn clone(&self) -> Self {
1984         crate::TypeImplTrait {
1985             impl_token: self.impl_token.clone(),
1986             bounds: self.bounds.clone(),
1987         }
1988     }
1989 }
1990 #[cfg(any(feature = "derive", feature = "full"))]
1991 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1992 impl Clone for crate::TypeInfer {
clone(&self) -> Self1993     fn clone(&self) -> Self {
1994         crate::TypeInfer {
1995             underscore_token: self.underscore_token.clone(),
1996         }
1997     }
1998 }
1999 #[cfg(any(feature = "derive", feature = "full"))]
2000 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2001 impl Clone for crate::TypeMacro {
clone(&self) -> Self2002     fn clone(&self) -> Self {
2003         crate::TypeMacro {
2004             mac: self.mac.clone(),
2005         }
2006     }
2007 }
2008 #[cfg(any(feature = "derive", feature = "full"))]
2009 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2010 impl Clone for crate::TypeNever {
clone(&self) -> Self2011     fn clone(&self) -> Self {
2012         crate::TypeNever {
2013             bang_token: self.bang_token.clone(),
2014         }
2015     }
2016 }
2017 #[cfg(any(feature = "derive", feature = "full"))]
2018 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2019 impl Clone for crate::TypeParam {
clone(&self) -> Self2020     fn clone(&self) -> Self {
2021         crate::TypeParam {
2022             attrs: self.attrs.clone(),
2023             ident: self.ident.clone(),
2024             colon_token: self.colon_token.clone(),
2025             bounds: self.bounds.clone(),
2026             eq_token: self.eq_token.clone(),
2027             default: self.default.clone(),
2028         }
2029     }
2030 }
2031 #[cfg(any(feature = "derive", feature = "full"))]
2032 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2033 impl Clone for crate::TypeParamBound {
clone(&self) -> Self2034     fn clone(&self) -> Self {
2035         match self {
2036             crate::TypeParamBound::Trait(v0) => crate::TypeParamBound::Trait(v0.clone()),
2037             crate::TypeParamBound::Lifetime(v0) => {
2038                 crate::TypeParamBound::Lifetime(v0.clone())
2039             }
2040             #[cfg(feature = "full")]
2041             crate::TypeParamBound::PreciseCapture(v0) => {
2042                 crate::TypeParamBound::PreciseCapture(v0.clone())
2043             }
2044             crate::TypeParamBound::Verbatim(v0) => {
2045                 crate::TypeParamBound::Verbatim(v0.clone())
2046             }
2047             #[cfg(not(feature = "full"))]
2048             _ => unreachable!(),
2049         }
2050     }
2051 }
2052 #[cfg(any(feature = "derive", feature = "full"))]
2053 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2054 impl Clone for crate::TypeParen {
clone(&self) -> Self2055     fn clone(&self) -> Self {
2056         crate::TypeParen {
2057             paren_token: self.paren_token.clone(),
2058             elem: self.elem.clone(),
2059         }
2060     }
2061 }
2062 #[cfg(any(feature = "derive", feature = "full"))]
2063 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2064 impl Clone for crate::TypePath {
clone(&self) -> Self2065     fn clone(&self) -> Self {
2066         crate::TypePath {
2067             qself: self.qself.clone(),
2068             path: self.path.clone(),
2069         }
2070     }
2071 }
2072 #[cfg(any(feature = "derive", feature = "full"))]
2073 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2074 impl Clone for crate::TypePtr {
clone(&self) -> Self2075     fn clone(&self) -> Self {
2076         crate::TypePtr {
2077             star_token: self.star_token.clone(),
2078             const_token: self.const_token.clone(),
2079             mutability: self.mutability.clone(),
2080             elem: self.elem.clone(),
2081         }
2082     }
2083 }
2084 #[cfg(any(feature = "derive", feature = "full"))]
2085 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2086 impl Clone for crate::TypeReference {
clone(&self) -> Self2087     fn clone(&self) -> Self {
2088         crate::TypeReference {
2089             and_token: self.and_token.clone(),
2090             lifetime: self.lifetime.clone(),
2091             mutability: self.mutability.clone(),
2092             elem: self.elem.clone(),
2093         }
2094     }
2095 }
2096 #[cfg(any(feature = "derive", feature = "full"))]
2097 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2098 impl Clone for crate::TypeSlice {
clone(&self) -> Self2099     fn clone(&self) -> Self {
2100         crate::TypeSlice {
2101             bracket_token: self.bracket_token.clone(),
2102             elem: self.elem.clone(),
2103         }
2104     }
2105 }
2106 #[cfg(any(feature = "derive", feature = "full"))]
2107 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2108 impl Clone for crate::TypeTraitObject {
clone(&self) -> Self2109     fn clone(&self) -> Self {
2110         crate::TypeTraitObject {
2111             dyn_token: self.dyn_token.clone(),
2112             bounds: self.bounds.clone(),
2113         }
2114     }
2115 }
2116 #[cfg(any(feature = "derive", feature = "full"))]
2117 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2118 impl Clone for crate::TypeTuple {
clone(&self) -> Self2119     fn clone(&self) -> Self {
2120         crate::TypeTuple {
2121             paren_token: self.paren_token.clone(),
2122             elems: self.elems.clone(),
2123         }
2124     }
2125 }
2126 #[cfg(any(feature = "derive", feature = "full"))]
2127 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2128 impl Copy for crate::UnOp {}
2129 #[cfg(any(feature = "derive", feature = "full"))]
2130 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2131 impl Clone for crate::UnOp {
clone(&self) -> Self2132     fn clone(&self) -> Self {
2133         *self
2134     }
2135 }
2136 #[cfg(feature = "full")]
2137 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2138 impl Clone for crate::UseGlob {
clone(&self) -> Self2139     fn clone(&self) -> Self {
2140         crate::UseGlob {
2141             star_token: self.star_token.clone(),
2142         }
2143     }
2144 }
2145 #[cfg(feature = "full")]
2146 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2147 impl Clone for crate::UseGroup {
clone(&self) -> Self2148     fn clone(&self) -> Self {
2149         crate::UseGroup {
2150             brace_token: self.brace_token.clone(),
2151             items: self.items.clone(),
2152         }
2153     }
2154 }
2155 #[cfg(feature = "full")]
2156 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2157 impl Clone for crate::UseName {
clone(&self) -> Self2158     fn clone(&self) -> Self {
2159         crate::UseName {
2160             ident: self.ident.clone(),
2161         }
2162     }
2163 }
2164 #[cfg(feature = "full")]
2165 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2166 impl Clone for crate::UsePath {
clone(&self) -> Self2167     fn clone(&self) -> Self {
2168         crate::UsePath {
2169             ident: self.ident.clone(),
2170             colon2_token: self.colon2_token.clone(),
2171             tree: self.tree.clone(),
2172         }
2173     }
2174 }
2175 #[cfg(feature = "full")]
2176 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2177 impl Clone for crate::UseRename {
clone(&self) -> Self2178     fn clone(&self) -> Self {
2179         crate::UseRename {
2180             ident: self.ident.clone(),
2181             as_token: self.as_token.clone(),
2182             rename: self.rename.clone(),
2183         }
2184     }
2185 }
2186 #[cfg(feature = "full")]
2187 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2188 impl Clone for crate::UseTree {
clone(&self) -> Self2189     fn clone(&self) -> Self {
2190         match self {
2191             crate::UseTree::Path(v0) => crate::UseTree::Path(v0.clone()),
2192             crate::UseTree::Name(v0) => crate::UseTree::Name(v0.clone()),
2193             crate::UseTree::Rename(v0) => crate::UseTree::Rename(v0.clone()),
2194             crate::UseTree::Glob(v0) => crate::UseTree::Glob(v0.clone()),
2195             crate::UseTree::Group(v0) => crate::UseTree::Group(v0.clone()),
2196         }
2197     }
2198 }
2199 #[cfg(feature = "full")]
2200 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2201 impl Clone for crate::Variadic {
clone(&self) -> Self2202     fn clone(&self) -> Self {
2203         crate::Variadic {
2204             attrs: self.attrs.clone(),
2205             pat: self.pat.clone(),
2206             dots: self.dots.clone(),
2207             comma: self.comma.clone(),
2208         }
2209     }
2210 }
2211 #[cfg(any(feature = "derive", feature = "full"))]
2212 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2213 impl Clone for crate::Variant {
clone(&self) -> Self2214     fn clone(&self) -> Self {
2215         crate::Variant {
2216             attrs: self.attrs.clone(),
2217             ident: self.ident.clone(),
2218             fields: self.fields.clone(),
2219             discriminant: self.discriminant.clone(),
2220         }
2221     }
2222 }
2223 #[cfg(any(feature = "derive", feature = "full"))]
2224 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2225 impl Clone for crate::VisRestricted {
clone(&self) -> Self2226     fn clone(&self) -> Self {
2227         crate::VisRestricted {
2228             pub_token: self.pub_token.clone(),
2229             paren_token: self.paren_token.clone(),
2230             in_token: self.in_token.clone(),
2231             path: self.path.clone(),
2232         }
2233     }
2234 }
2235 #[cfg(any(feature = "derive", feature = "full"))]
2236 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2237 impl Clone for crate::Visibility {
clone(&self) -> Self2238     fn clone(&self) -> Self {
2239         match self {
2240             crate::Visibility::Public(v0) => crate::Visibility::Public(v0.clone()),
2241             crate::Visibility::Restricted(v0) => {
2242                 crate::Visibility::Restricted(v0.clone())
2243             }
2244             crate::Visibility::Inherited => crate::Visibility::Inherited,
2245         }
2246     }
2247 }
2248 #[cfg(any(feature = "derive", feature = "full"))]
2249 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2250 impl Clone for crate::WhereClause {
clone(&self) -> Self2251     fn clone(&self) -> Self {
2252         crate::WhereClause {
2253             where_token: self.where_token.clone(),
2254             predicates: self.predicates.clone(),
2255         }
2256     }
2257 }
2258 #[cfg(any(feature = "derive", feature = "full"))]
2259 #[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2260 impl Clone for crate::WherePredicate {
clone(&self) -> Self2261     fn clone(&self) -> Self {
2262         match self {
2263             crate::WherePredicate::Lifetime(v0) => {
2264                 crate::WherePredicate::Lifetime(v0.clone())
2265             }
2266             crate::WherePredicate::Type(v0) => crate::WherePredicate::Type(v0.clone()),
2267         }
2268     }
2269 }
2270