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