Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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")))]
9impl Clone for crate::Abi {
10 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")))]
19impl Clone for crate::AngleBracketedGenericArguments {
20 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")))]
31impl Clone for crate::Arm {
32 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")))]
45impl Clone for crate::AssocConst {
46 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")))]
57impl Clone for crate::AssocType {
58 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")))]
69impl Copy for crate::AttrStyle {}
70#[cfg(any(feature = "derive", feature = "full"))]
71#[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
72impl Clone for crate::AttrStyle {
73 fn clone(&self) -> Self {
74 *self
75 }
76}
77#[cfg(any(feature = "derive", feature = "full"))]
78#[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
79impl Clone for crate::Attribute {
80 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")))]
91impl Clone for crate::BareFnArg {
92 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")))]
102impl Clone for crate::BareVariadic {
103 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")))]
114impl Copy for crate::BinOp {}
115#[cfg(any(feature = "derive", feature = "full"))]
116#[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
117impl Clone for crate::BinOp {
118 fn clone(&self) -> Self {
119 *self
120 }
121}
122#[cfg(feature = "full")]
123#[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
124impl Clone for crate::Block {
125 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")))]
134impl Clone for crate::BoundLifetimes {
135 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")))]
146impl Clone for crate::CapturedParam {
147 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")))]
158impl Clone for crate::ConstParam {
159 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")))]
173impl Clone for crate::Constraint {
174 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")))]
185impl Clone for crate::Data {
186 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")))]
196impl Clone for crate::DataEnum {
197 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")))]
207impl Clone for crate::DataStruct {
208 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")))]
218impl Clone for crate::DataUnion {
219 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")))]
228impl Clone for crate::DeriveInput {
229 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")))]
241impl Clone for crate::Expr {
242 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")))]
315impl Clone for crate::ExprArray {
316 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")))]
326impl Clone for crate::ExprAssign {
327 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")))]
338impl Clone for crate::ExprAsync {
339 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")))]
350impl Clone for crate::ExprAwait {
351 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")))]
362impl Clone for crate::ExprBinary {
363 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")))]
374impl Clone for crate::ExprBlock {
375 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")))]
385impl Clone for crate::ExprBreak {
386 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")))]
397impl Clone for crate::ExprCall {
398 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")))]
409impl Clone for crate::ExprCast {
410 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")))]
421impl Clone for crate::ExprClosure {
422 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")))]
440impl Clone for crate::ExprConst {
441 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")))]
451impl Clone for crate::ExprContinue {
452 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")))]
462impl Clone for crate::ExprField {
463 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")))]
474impl Clone for crate::ExprForLoop {
475 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")))]
489impl Clone for crate::ExprGroup {
490 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")))]
500impl Clone for crate::ExprIf {
501 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")))]
513impl Clone for crate::ExprIndex {
514 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")))]
525impl Clone for crate::ExprInfer {
526 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")))]
535impl Clone for crate::ExprLet {
536 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")))]
548impl Clone for crate::ExprLit {
549 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")))]
558impl Clone for crate::ExprLoop {
559 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")))]
570impl Clone for crate::ExprMacro {
571 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")))]
580impl Clone for crate::ExprMatch {
581 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")))]
593impl Clone for crate::ExprMethodCall {
594 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")))]
608impl Clone for crate::ExprParen {
609 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")))]
619impl Clone for crate::ExprPath {
620 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")))]
630impl Clone for crate::ExprRange {
631 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")))]
642impl Clone for crate::ExprRawAddr {
643 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")))]
655impl Clone for crate::ExprReference {
656 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")))]
667impl Clone for crate::ExprRepeat {
668 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")))]
680impl Clone for crate::ExprReturn {
681 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")))]
691impl Clone for crate::ExprStruct {
692 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")))]
706impl Clone for crate::ExprTry {
707 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")))]
717impl Clone for crate::ExprTryBlock {
718 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")))]
728impl Clone for crate::ExprTuple {
729 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")))]
739impl Clone for crate::ExprUnary {
740 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")))]
750impl Clone for crate::ExprUnsafe {
751 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")))]
761impl Clone for crate::ExprWhile {
762 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")))]
774impl Clone for crate::ExprYield {
775 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")))]
785impl Clone for crate::Field {
786 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")))]
799impl Clone for crate::FieldMutability {
800 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")))]
808impl Clone for crate::FieldPat {
809 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")))]
820impl Clone for crate::FieldValue {
821 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")))]
832impl Clone for crate::Fields {
833 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")))]
843impl Clone for crate::FieldsNamed {
844 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")))]
853impl Clone for crate::FieldsUnnamed {
854 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")))]
863impl Clone for crate::File {
864 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")))]
874impl Clone for crate::FnArg {
875 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")))]
884impl Clone for crate::ForeignItem {
885 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")))]
897impl Clone for crate::ForeignItemFn {
898 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")))]
909impl Clone for crate::ForeignItemMacro {
910 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")))]
920impl Clone for crate::ForeignItemStatic {
921 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")))]
936impl Clone for crate::ForeignItemType {
937 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")))]
950impl Clone for crate::GenericArgument {
951 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")))]
974impl Clone for crate::GenericParam {
975 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")))]
987impl Clone for crate::Generics {
988 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")))]
999impl Clone for crate::ImplItem {
1000 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")))]
1012impl Clone for crate::ImplItemConst {
1013 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")))]
1031impl Clone for crate::ImplItemFn {
1032 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")))]
1044impl Clone for crate::ImplItemMacro {
1045 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")))]
1055impl Clone for crate::ImplItemType {
1056 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")))]
1072impl Clone for crate::ImplRestriction {
1073 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")))]
1079impl Clone for crate::Index {
1080 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")))]
1089impl Clone for crate::Item {
1090 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")))]
1113impl Clone for crate::ItemConst {
1114 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")))]
1131impl Clone for crate::ItemEnum {
1132 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")))]
1146impl Clone for crate::ItemExternCrate {
1147 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")))]
1161impl Clone for crate::ItemFn {
1162 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")))]
1173impl Clone for crate::ItemForeignMod {
1174 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")))]
1186impl Clone for crate::ItemImpl {
1187 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")))]
1203impl Clone for crate::ItemMacro {
1204 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")))]
1215impl Clone for crate::ItemMod {
1216 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")))]
1230impl Clone for crate::ItemStatic {
1231 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")))]
1248impl Clone for crate::ItemStruct {
1249 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")))]
1263impl Clone for crate::ItemTrait {
1264 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")))]
1283impl Clone for crate::ItemTraitAlias {
1284 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")))]
1299impl Clone for crate::ItemType {
1300 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")))]
1315impl Clone for crate::ItemUnion {
1316 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")))]
1329impl Clone for crate::ItemUse {
1330 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")))]
1343impl Clone for crate::Label {
1344 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")))]
1353impl Clone for crate::LifetimeParam {
1354 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")))]
1364impl Clone for crate::Lit {
1365 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")))]
1380impl Clone for crate::LitBool {
1381 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")))]
1390impl Clone for crate::Local {
1391 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")))]
1403impl Clone for crate::LocalInit {
1404 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")))]
1414impl Clone for crate::Macro {
1415 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")))]
1426impl Clone for crate::MacroDelimiter {
1427 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")))]
1439impl Clone for crate::Member {
1440 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")))]
1449impl Clone for crate::Meta {
1450 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")))]
1460impl Clone for crate::MetaList {
1461 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")))]
1471impl Clone for crate::MetaNameValue {
1472 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")))]
1482impl Clone for crate::ParenthesizedGenericArguments {
1483 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")))]
1493impl Clone for crate::Pat {
1494 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")))]
1518impl Clone for crate::PatIdent {
1519 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")))]
1531impl Clone for crate::PatOr {
1532 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")))]
1542impl Clone for crate::PatParen {
1543 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")))]
1553impl Clone for crate::PatReference {
1554 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")))]
1565impl Clone for crate::PatRest {
1566 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")))]
1575impl Clone for crate::PatSlice {
1576 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")))]
1586impl Clone for crate::PatStruct {
1587 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")))]
1600impl Clone for crate::PatTuple {
1601 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")))]
1611impl Clone for crate::PatTupleStruct {
1612 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")))]
1624impl Clone for crate::PatType {
1625 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")))]
1636impl Clone for crate::PatWild {
1637 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")))]
1646impl Clone for crate::Path {
1647 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")))]
1656impl Clone for crate::PathArguments {
1657 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")))]
1671impl Clone for crate::PathSegment {
1672 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")))]
1681impl Clone for crate::PointerMutability {
1682 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")))]
1695impl Clone for crate::PreciseCapture {
1696 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")))]
1707impl Clone for crate::PredicateLifetime {
1708 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")))]
1718impl Clone for crate::PredicateType {
1719 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")))]
1730impl Clone for crate::QSelf {
1731 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")))]
1743impl Copy for crate::RangeLimits {}
1744#[cfg(feature = "full")]
1745#[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1746impl Clone for crate::RangeLimits {
1747 fn clone(&self) -> Self {
1748 *self
1749 }
1750}
1751#[cfg(feature = "full")]
1752#[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1753impl Clone for crate::Receiver {
1754 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")))]
1767impl Clone for crate::ReturnType {
1768 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")))]
1779impl Clone for crate::Signature {
1780 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")))]
1798impl Clone for crate::StaticMutability {
1799 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")))]
1808impl Clone for crate::Stmt {
1809 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")))]
1820impl Clone for crate::StmtMacro {
1821 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")))]
1831impl Clone for crate::TraitBound {
1832 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")))]
1843impl Copy for crate::TraitBoundModifier {}
1844#[cfg(any(feature = "derive", feature = "full"))]
1845#[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1846impl Clone for crate::TraitBoundModifier {
1847 fn clone(&self) -> Self {
1848 *self
1849 }
1850}
1851#[cfg(feature = "full")]
1852#[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
1853impl Clone for crate::TraitItem {
1854 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")))]
1866impl Clone for crate::TraitItemConst {
1867 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")))]
1882impl Clone for crate::TraitItemFn {
1883 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")))]
1894impl Clone for crate::TraitItemMacro {
1895 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")))]
1905impl Clone for crate::TraitItemType {
1906 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")))]
1921impl Clone for crate::Type {
1922 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")))]
1944impl Clone for crate::TypeArray {
1945 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")))]
1956impl Clone for crate::TypeBareFn {
1957 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")))]
1972impl Clone for crate::TypeGroup {
1973 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")))]
1982impl Clone for crate::TypeImplTrait {
1983 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")))]
1992impl Clone for crate::TypeInfer {
1993 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")))]
2001impl Clone for crate::TypeMacro {
2002 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")))]
2010impl Clone for crate::TypeNever {
2011 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")))]
2019impl Clone for crate::TypeParam {
2020 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")))]
2033impl Clone for crate::TypeParamBound {
2034 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")))]
2054impl Clone for crate::TypeParen {
2055 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")))]
2064impl Clone for crate::TypePath {
2065 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")))]
2074impl Clone for crate::TypePtr {
2075 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")))]
2086impl Clone for crate::TypeReference {
2087 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")))]
2098impl Clone for crate::TypeSlice {
2099 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")))]
2108impl Clone for crate::TypeTraitObject {
2109 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")))]
2118impl Clone for crate::TypeTuple {
2119 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")))]
2128impl Copy for crate::UnOp {}
2129#[cfg(any(feature = "derive", feature = "full"))]
2130#[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2131impl Clone for crate::UnOp {
2132 fn clone(&self) -> Self {
2133 *self
2134 }
2135}
2136#[cfg(feature = "full")]
2137#[cfg_attr(docsrs, doc(cfg(feature = "clone-impls")))]
2138impl Clone for crate::UseGlob {
2139 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")))]
2147impl Clone for crate::UseGroup {
2148 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")))]
2157impl Clone for crate::UseName {
2158 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")))]
2166impl Clone for crate::UsePath {
2167 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")))]
2177impl Clone for crate::UseRename {
2178 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")))]
2188impl Clone for crate::UseTree {
2189 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")))]
2201impl Clone for crate::Variadic {
2202 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")))]
2213impl Clone for crate::Variant {
2214 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")))]
2225impl Clone for crate::VisRestricted {
2226 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")))]
2237impl Clone for crate::Visibility {
2238 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")))]
2250impl Clone for crate::WhereClause {
2251 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")))]
2260impl Clone for crate::WherePredicate {
2261 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}