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)] 5 use crate::*; 6 #[cfg(any(feature = "derive", feature = "full"))] 7 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 8 impl Clone for Abi { clone(&self) -> Self9 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")))] 18 impl Clone for AngleBracketedGenericArguments { clone(&self) -> Self19 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")))] 30 impl Clone for Arm { clone(&self) -> Self31 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")))] 44 impl Copy for AttrStyle {} 45 #[cfg(any(feature = "derive", feature = "full"))] 46 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 47 impl Clone for AttrStyle { clone(&self) -> Self48 fn clone(&self) -> Self { 49 *self 50 } 51 } 52 #[cfg(any(feature = "derive", feature = "full"))] 53 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 54 impl Clone for Attribute { clone(&self) -> Self55 fn clone(&self) -> Self { 56 Attribute { 57 pound_token: self.pound_token.clone(), 58 style: self.style.clone(), 59 bracket_token: self.bracket_token.clone(), 60 path: self.path.clone(), 61 tokens: self.tokens.clone(), 62 } 63 } 64 } 65 #[cfg(any(feature = "derive", feature = "full"))] 66 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 67 impl Clone for BareFnArg { clone(&self) -> Self68 fn clone(&self) -> Self { 69 BareFnArg { 70 attrs: self.attrs.clone(), 71 name: self.name.clone(), 72 ty: self.ty.clone(), 73 } 74 } 75 } 76 #[cfg(any(feature = "derive", feature = "full"))] 77 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 78 impl Copy for BinOp {} 79 #[cfg(any(feature = "derive", feature = "full"))] 80 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 81 impl Clone for BinOp { clone(&self) -> Self82 fn clone(&self) -> Self { 83 *self 84 } 85 } 86 #[cfg(any(feature = "derive", feature = "full"))] 87 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 88 impl Clone for Binding { clone(&self) -> Self89 fn clone(&self) -> Self { 90 Binding { 91 ident: self.ident.clone(), 92 eq_token: self.eq_token.clone(), 93 ty: self.ty.clone(), 94 } 95 } 96 } 97 #[cfg(feature = "full")] 98 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 99 impl Clone for Block { clone(&self) -> Self100 fn clone(&self) -> Self { 101 Block { 102 brace_token: self.brace_token.clone(), 103 stmts: self.stmts.clone(), 104 } 105 } 106 } 107 #[cfg(any(feature = "derive", feature = "full"))] 108 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 109 impl Clone for BoundLifetimes { clone(&self) -> Self110 fn clone(&self) -> Self { 111 BoundLifetimes { 112 for_token: self.for_token.clone(), 113 lt_token: self.lt_token.clone(), 114 lifetimes: self.lifetimes.clone(), 115 gt_token: self.gt_token.clone(), 116 } 117 } 118 } 119 #[cfg(any(feature = "derive", feature = "full"))] 120 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 121 impl Clone for ConstParam { clone(&self) -> Self122 fn clone(&self) -> Self { 123 ConstParam { 124 attrs: self.attrs.clone(), 125 const_token: self.const_token.clone(), 126 ident: self.ident.clone(), 127 colon_token: self.colon_token.clone(), 128 ty: self.ty.clone(), 129 eq_token: self.eq_token.clone(), 130 default: self.default.clone(), 131 } 132 } 133 } 134 #[cfg(any(feature = "derive", feature = "full"))] 135 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 136 impl Clone for Constraint { clone(&self) -> Self137 fn clone(&self) -> Self { 138 Constraint { 139 ident: self.ident.clone(), 140 colon_token: self.colon_token.clone(), 141 bounds: self.bounds.clone(), 142 } 143 } 144 } 145 #[cfg(feature = "derive")] 146 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 147 impl Clone for Data { clone(&self) -> Self148 fn clone(&self) -> Self { 149 match self { 150 Data::Struct(v0) => Data::Struct(v0.clone()), 151 Data::Enum(v0) => Data::Enum(v0.clone()), 152 Data::Union(v0) => Data::Union(v0.clone()), 153 } 154 } 155 } 156 #[cfg(feature = "derive")] 157 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 158 impl Clone for DataEnum { clone(&self) -> Self159 fn clone(&self) -> Self { 160 DataEnum { 161 enum_token: self.enum_token.clone(), 162 brace_token: self.brace_token.clone(), 163 variants: self.variants.clone(), 164 } 165 } 166 } 167 #[cfg(feature = "derive")] 168 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 169 impl Clone for DataStruct { clone(&self) -> Self170 fn clone(&self) -> Self { 171 DataStruct { 172 struct_token: self.struct_token.clone(), 173 fields: self.fields.clone(), 174 semi_token: self.semi_token.clone(), 175 } 176 } 177 } 178 #[cfg(feature = "derive")] 179 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 180 impl Clone for DataUnion { clone(&self) -> Self181 fn clone(&self) -> Self { 182 DataUnion { 183 union_token: self.union_token.clone(), 184 fields: self.fields.clone(), 185 } 186 } 187 } 188 #[cfg(feature = "derive")] 189 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 190 impl Clone for DeriveInput { clone(&self) -> Self191 fn clone(&self) -> Self { 192 DeriveInput { 193 attrs: self.attrs.clone(), 194 vis: self.vis.clone(), 195 ident: self.ident.clone(), 196 generics: self.generics.clone(), 197 data: self.data.clone(), 198 } 199 } 200 } 201 #[cfg(any(feature = "derive", feature = "full"))] 202 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 203 impl Clone for Expr { clone(&self) -> Self204 fn clone(&self) -> Self { 205 match self { 206 #[cfg(feature = "full")] 207 Expr::Array(v0) => Expr::Array(v0.clone()), 208 #[cfg(feature = "full")] 209 Expr::Assign(v0) => Expr::Assign(v0.clone()), 210 #[cfg(feature = "full")] 211 Expr::AssignOp(v0) => Expr::AssignOp(v0.clone()), 212 #[cfg(feature = "full")] 213 Expr::Async(v0) => Expr::Async(v0.clone()), 214 #[cfg(feature = "full")] 215 Expr::Await(v0) => Expr::Await(v0.clone()), 216 Expr::Binary(v0) => Expr::Binary(v0.clone()), 217 #[cfg(feature = "full")] 218 Expr::Block(v0) => Expr::Block(v0.clone()), 219 #[cfg(feature = "full")] 220 Expr::Box(v0) => Expr::Box(v0.clone()), 221 #[cfg(feature = "full")] 222 Expr::Break(v0) => Expr::Break(v0.clone()), 223 Expr::Call(v0) => Expr::Call(v0.clone()), 224 Expr::Cast(v0) => Expr::Cast(v0.clone()), 225 #[cfg(feature = "full")] 226 Expr::Closure(v0) => Expr::Closure(v0.clone()), 227 #[cfg(feature = "full")] 228 Expr::Continue(v0) => Expr::Continue(v0.clone()), 229 Expr::Field(v0) => Expr::Field(v0.clone()), 230 #[cfg(feature = "full")] 231 Expr::ForLoop(v0) => Expr::ForLoop(v0.clone()), 232 #[cfg(feature = "full")] 233 Expr::Group(v0) => Expr::Group(v0.clone()), 234 #[cfg(feature = "full")] 235 Expr::If(v0) => Expr::If(v0.clone()), 236 Expr::Index(v0) => Expr::Index(v0.clone()), 237 #[cfg(feature = "full")] 238 Expr::Let(v0) => Expr::Let(v0.clone()), 239 Expr::Lit(v0) => Expr::Lit(v0.clone()), 240 #[cfg(feature = "full")] 241 Expr::Loop(v0) => Expr::Loop(v0.clone()), 242 #[cfg(feature = "full")] 243 Expr::Macro(v0) => Expr::Macro(v0.clone()), 244 #[cfg(feature = "full")] 245 Expr::Match(v0) => Expr::Match(v0.clone()), 246 #[cfg(feature = "full")] 247 Expr::MethodCall(v0) => Expr::MethodCall(v0.clone()), 248 Expr::Paren(v0) => Expr::Paren(v0.clone()), 249 Expr::Path(v0) => Expr::Path(v0.clone()), 250 #[cfg(feature = "full")] 251 Expr::Range(v0) => Expr::Range(v0.clone()), 252 #[cfg(feature = "full")] 253 Expr::Reference(v0) => Expr::Reference(v0.clone()), 254 #[cfg(feature = "full")] 255 Expr::Repeat(v0) => Expr::Repeat(v0.clone()), 256 #[cfg(feature = "full")] 257 Expr::Return(v0) => Expr::Return(v0.clone()), 258 #[cfg(feature = "full")] 259 Expr::Struct(v0) => Expr::Struct(v0.clone()), 260 #[cfg(feature = "full")] 261 Expr::Try(v0) => Expr::Try(v0.clone()), 262 #[cfg(feature = "full")] 263 Expr::TryBlock(v0) => Expr::TryBlock(v0.clone()), 264 #[cfg(feature = "full")] 265 Expr::Tuple(v0) => Expr::Tuple(v0.clone()), 266 #[cfg(feature = "full")] 267 Expr::Type(v0) => Expr::Type(v0.clone()), 268 Expr::Unary(v0) => Expr::Unary(v0.clone()), 269 #[cfg(feature = "full")] 270 Expr::Unsafe(v0) => Expr::Unsafe(v0.clone()), 271 Expr::Verbatim(v0) => Expr::Verbatim(v0.clone()), 272 #[cfg(feature = "full")] 273 Expr::While(v0) => Expr::While(v0.clone()), 274 #[cfg(feature = "full")] 275 Expr::Yield(v0) => Expr::Yield(v0.clone()), 276 #[cfg(any(syn_no_non_exhaustive, not(feature = "full")))] 277 _ => unreachable!(), 278 } 279 } 280 } 281 #[cfg(feature = "full")] 282 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 283 impl Clone for ExprArray { clone(&self) -> Self284 fn clone(&self) -> Self { 285 ExprArray { 286 attrs: self.attrs.clone(), 287 bracket_token: self.bracket_token.clone(), 288 elems: self.elems.clone(), 289 } 290 } 291 } 292 #[cfg(feature = "full")] 293 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 294 impl Clone for ExprAssign { clone(&self) -> Self295 fn clone(&self) -> Self { 296 ExprAssign { 297 attrs: self.attrs.clone(), 298 left: self.left.clone(), 299 eq_token: self.eq_token.clone(), 300 right: self.right.clone(), 301 } 302 } 303 } 304 #[cfg(feature = "full")] 305 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 306 impl Clone for ExprAssignOp { clone(&self) -> Self307 fn clone(&self) -> Self { 308 ExprAssignOp { 309 attrs: self.attrs.clone(), 310 left: self.left.clone(), 311 op: self.op.clone(), 312 right: self.right.clone(), 313 } 314 } 315 } 316 #[cfg(feature = "full")] 317 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 318 impl Clone for ExprAsync { clone(&self) -> Self319 fn clone(&self) -> Self { 320 ExprAsync { 321 attrs: self.attrs.clone(), 322 async_token: self.async_token.clone(), 323 capture: self.capture.clone(), 324 block: self.block.clone(), 325 } 326 } 327 } 328 #[cfg(feature = "full")] 329 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 330 impl Clone for ExprAwait { clone(&self) -> Self331 fn clone(&self) -> Self { 332 ExprAwait { 333 attrs: self.attrs.clone(), 334 base: self.base.clone(), 335 dot_token: self.dot_token.clone(), 336 await_token: self.await_token.clone(), 337 } 338 } 339 } 340 #[cfg(any(feature = "derive", feature = "full"))] 341 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 342 impl Clone for ExprBinary { clone(&self) -> Self343 fn clone(&self) -> Self { 344 ExprBinary { 345 attrs: self.attrs.clone(), 346 left: self.left.clone(), 347 op: self.op.clone(), 348 right: self.right.clone(), 349 } 350 } 351 } 352 #[cfg(feature = "full")] 353 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 354 impl Clone for ExprBlock { clone(&self) -> Self355 fn clone(&self) -> Self { 356 ExprBlock { 357 attrs: self.attrs.clone(), 358 label: self.label.clone(), 359 block: self.block.clone(), 360 } 361 } 362 } 363 #[cfg(feature = "full")] 364 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 365 impl Clone for ExprBox { clone(&self) -> Self366 fn clone(&self) -> Self { 367 ExprBox { 368 attrs: self.attrs.clone(), 369 box_token: self.box_token.clone(), 370 expr: self.expr.clone(), 371 } 372 } 373 } 374 #[cfg(feature = "full")] 375 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 376 impl Clone for ExprBreak { clone(&self) -> Self377 fn clone(&self) -> Self { 378 ExprBreak { 379 attrs: self.attrs.clone(), 380 break_token: self.break_token.clone(), 381 label: self.label.clone(), 382 expr: self.expr.clone(), 383 } 384 } 385 } 386 #[cfg(any(feature = "derive", feature = "full"))] 387 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 388 impl Clone for ExprCall { clone(&self) -> Self389 fn clone(&self) -> Self { 390 ExprCall { 391 attrs: self.attrs.clone(), 392 func: self.func.clone(), 393 paren_token: self.paren_token.clone(), 394 args: self.args.clone(), 395 } 396 } 397 } 398 #[cfg(any(feature = "derive", feature = "full"))] 399 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 400 impl Clone for ExprCast { clone(&self) -> Self401 fn clone(&self) -> Self { 402 ExprCast { 403 attrs: self.attrs.clone(), 404 expr: self.expr.clone(), 405 as_token: self.as_token.clone(), 406 ty: self.ty.clone(), 407 } 408 } 409 } 410 #[cfg(feature = "full")] 411 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 412 impl Clone for ExprClosure { clone(&self) -> Self413 fn clone(&self) -> Self { 414 ExprClosure { 415 attrs: self.attrs.clone(), 416 movability: self.movability.clone(), 417 asyncness: self.asyncness.clone(), 418 capture: self.capture.clone(), 419 or1_token: self.or1_token.clone(), 420 inputs: self.inputs.clone(), 421 or2_token: self.or2_token.clone(), 422 output: self.output.clone(), 423 body: self.body.clone(), 424 } 425 } 426 } 427 #[cfg(feature = "full")] 428 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 429 impl Clone for ExprContinue { clone(&self) -> Self430 fn clone(&self) -> Self { 431 ExprContinue { 432 attrs: self.attrs.clone(), 433 continue_token: self.continue_token.clone(), 434 label: self.label.clone(), 435 } 436 } 437 } 438 #[cfg(any(feature = "derive", feature = "full"))] 439 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 440 impl Clone for ExprField { clone(&self) -> Self441 fn clone(&self) -> Self { 442 ExprField { 443 attrs: self.attrs.clone(), 444 base: self.base.clone(), 445 dot_token: self.dot_token.clone(), 446 member: self.member.clone(), 447 } 448 } 449 } 450 #[cfg(feature = "full")] 451 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 452 impl Clone for ExprForLoop { clone(&self) -> Self453 fn clone(&self) -> Self { 454 ExprForLoop { 455 attrs: self.attrs.clone(), 456 label: self.label.clone(), 457 for_token: self.for_token.clone(), 458 pat: self.pat.clone(), 459 in_token: self.in_token.clone(), 460 expr: self.expr.clone(), 461 body: self.body.clone(), 462 } 463 } 464 } 465 #[cfg(feature = "full")] 466 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 467 impl Clone for ExprGroup { clone(&self) -> Self468 fn clone(&self) -> Self { 469 ExprGroup { 470 attrs: self.attrs.clone(), 471 group_token: self.group_token.clone(), 472 expr: self.expr.clone(), 473 } 474 } 475 } 476 #[cfg(feature = "full")] 477 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 478 impl Clone for ExprIf { clone(&self) -> Self479 fn clone(&self) -> Self { 480 ExprIf { 481 attrs: self.attrs.clone(), 482 if_token: self.if_token.clone(), 483 cond: self.cond.clone(), 484 then_branch: self.then_branch.clone(), 485 else_branch: self.else_branch.clone(), 486 } 487 } 488 } 489 #[cfg(any(feature = "derive", feature = "full"))] 490 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 491 impl Clone for ExprIndex { clone(&self) -> Self492 fn clone(&self) -> Self { 493 ExprIndex { 494 attrs: self.attrs.clone(), 495 expr: self.expr.clone(), 496 bracket_token: self.bracket_token.clone(), 497 index: self.index.clone(), 498 } 499 } 500 } 501 #[cfg(feature = "full")] 502 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 503 impl Clone for ExprLet { clone(&self) -> Self504 fn clone(&self) -> Self { 505 ExprLet { 506 attrs: self.attrs.clone(), 507 let_token: self.let_token.clone(), 508 pat: self.pat.clone(), 509 eq_token: self.eq_token.clone(), 510 expr: self.expr.clone(), 511 } 512 } 513 } 514 #[cfg(any(feature = "derive", feature = "full"))] 515 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 516 impl Clone for ExprLit { clone(&self) -> Self517 fn clone(&self) -> Self { 518 ExprLit { 519 attrs: self.attrs.clone(), 520 lit: self.lit.clone(), 521 } 522 } 523 } 524 #[cfg(feature = "full")] 525 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 526 impl Clone for ExprLoop { clone(&self) -> Self527 fn clone(&self) -> Self { 528 ExprLoop { 529 attrs: self.attrs.clone(), 530 label: self.label.clone(), 531 loop_token: self.loop_token.clone(), 532 body: self.body.clone(), 533 } 534 } 535 } 536 #[cfg(feature = "full")] 537 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 538 impl Clone for ExprMacro { clone(&self) -> Self539 fn clone(&self) -> Self { 540 ExprMacro { 541 attrs: self.attrs.clone(), 542 mac: self.mac.clone(), 543 } 544 } 545 } 546 #[cfg(feature = "full")] 547 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 548 impl Clone for ExprMatch { clone(&self) -> Self549 fn clone(&self) -> Self { 550 ExprMatch { 551 attrs: self.attrs.clone(), 552 match_token: self.match_token.clone(), 553 expr: self.expr.clone(), 554 brace_token: self.brace_token.clone(), 555 arms: self.arms.clone(), 556 } 557 } 558 } 559 #[cfg(feature = "full")] 560 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 561 impl Clone for ExprMethodCall { clone(&self) -> Self562 fn clone(&self) -> Self { 563 ExprMethodCall { 564 attrs: self.attrs.clone(), 565 receiver: self.receiver.clone(), 566 dot_token: self.dot_token.clone(), 567 method: self.method.clone(), 568 turbofish: self.turbofish.clone(), 569 paren_token: self.paren_token.clone(), 570 args: self.args.clone(), 571 } 572 } 573 } 574 #[cfg(any(feature = "derive", feature = "full"))] 575 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 576 impl Clone for ExprParen { clone(&self) -> Self577 fn clone(&self) -> Self { 578 ExprParen { 579 attrs: self.attrs.clone(), 580 paren_token: self.paren_token.clone(), 581 expr: self.expr.clone(), 582 } 583 } 584 } 585 #[cfg(any(feature = "derive", feature = "full"))] 586 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 587 impl Clone for ExprPath { clone(&self) -> Self588 fn clone(&self) -> Self { 589 ExprPath { 590 attrs: self.attrs.clone(), 591 qself: self.qself.clone(), 592 path: self.path.clone(), 593 } 594 } 595 } 596 #[cfg(feature = "full")] 597 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 598 impl Clone for ExprRange { clone(&self) -> Self599 fn clone(&self) -> Self { 600 ExprRange { 601 attrs: self.attrs.clone(), 602 from: self.from.clone(), 603 limits: self.limits.clone(), 604 to: self.to.clone(), 605 } 606 } 607 } 608 #[cfg(feature = "full")] 609 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 610 impl Clone for ExprReference { clone(&self) -> Self611 fn clone(&self) -> Self { 612 ExprReference { 613 attrs: self.attrs.clone(), 614 and_token: self.and_token.clone(), 615 raw: self.raw.clone(), 616 mutability: self.mutability.clone(), 617 expr: self.expr.clone(), 618 } 619 } 620 } 621 #[cfg(feature = "full")] 622 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 623 impl Clone for ExprRepeat { clone(&self) -> Self624 fn clone(&self) -> Self { 625 ExprRepeat { 626 attrs: self.attrs.clone(), 627 bracket_token: self.bracket_token.clone(), 628 expr: self.expr.clone(), 629 semi_token: self.semi_token.clone(), 630 len: self.len.clone(), 631 } 632 } 633 } 634 #[cfg(feature = "full")] 635 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 636 impl Clone for ExprReturn { clone(&self) -> Self637 fn clone(&self) -> Self { 638 ExprReturn { 639 attrs: self.attrs.clone(), 640 return_token: self.return_token.clone(), 641 expr: self.expr.clone(), 642 } 643 } 644 } 645 #[cfg(feature = "full")] 646 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 647 impl Clone for ExprStruct { clone(&self) -> Self648 fn clone(&self) -> Self { 649 ExprStruct { 650 attrs: self.attrs.clone(), 651 path: self.path.clone(), 652 brace_token: self.brace_token.clone(), 653 fields: self.fields.clone(), 654 dot2_token: self.dot2_token.clone(), 655 rest: self.rest.clone(), 656 } 657 } 658 } 659 #[cfg(feature = "full")] 660 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 661 impl Clone for ExprTry { clone(&self) -> Self662 fn clone(&self) -> Self { 663 ExprTry { 664 attrs: self.attrs.clone(), 665 expr: self.expr.clone(), 666 question_token: self.question_token.clone(), 667 } 668 } 669 } 670 #[cfg(feature = "full")] 671 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 672 impl Clone for ExprTryBlock { clone(&self) -> Self673 fn clone(&self) -> Self { 674 ExprTryBlock { 675 attrs: self.attrs.clone(), 676 try_token: self.try_token.clone(), 677 block: self.block.clone(), 678 } 679 } 680 } 681 #[cfg(feature = "full")] 682 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 683 impl Clone for ExprTuple { clone(&self) -> Self684 fn clone(&self) -> Self { 685 ExprTuple { 686 attrs: self.attrs.clone(), 687 paren_token: self.paren_token.clone(), 688 elems: self.elems.clone(), 689 } 690 } 691 } 692 #[cfg(feature = "full")] 693 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 694 impl Clone for ExprType { clone(&self) -> Self695 fn clone(&self) -> Self { 696 ExprType { 697 attrs: self.attrs.clone(), 698 expr: self.expr.clone(), 699 colon_token: self.colon_token.clone(), 700 ty: self.ty.clone(), 701 } 702 } 703 } 704 #[cfg(any(feature = "derive", feature = "full"))] 705 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 706 impl Clone for ExprUnary { clone(&self) -> Self707 fn clone(&self) -> Self { 708 ExprUnary { 709 attrs: self.attrs.clone(), 710 op: self.op.clone(), 711 expr: self.expr.clone(), 712 } 713 } 714 } 715 #[cfg(feature = "full")] 716 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 717 impl Clone for ExprUnsafe { clone(&self) -> Self718 fn clone(&self) -> Self { 719 ExprUnsafe { 720 attrs: self.attrs.clone(), 721 unsafe_token: self.unsafe_token.clone(), 722 block: self.block.clone(), 723 } 724 } 725 } 726 #[cfg(feature = "full")] 727 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 728 impl Clone for ExprWhile { clone(&self) -> Self729 fn clone(&self) -> Self { 730 ExprWhile { 731 attrs: self.attrs.clone(), 732 label: self.label.clone(), 733 while_token: self.while_token.clone(), 734 cond: self.cond.clone(), 735 body: self.body.clone(), 736 } 737 } 738 } 739 #[cfg(feature = "full")] 740 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 741 impl Clone for ExprYield { clone(&self) -> Self742 fn clone(&self) -> Self { 743 ExprYield { 744 attrs: self.attrs.clone(), 745 yield_token: self.yield_token.clone(), 746 expr: self.expr.clone(), 747 } 748 } 749 } 750 #[cfg(any(feature = "derive", feature = "full"))] 751 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 752 impl Clone for Field { clone(&self) -> Self753 fn clone(&self) -> Self { 754 Field { 755 attrs: self.attrs.clone(), 756 vis: self.vis.clone(), 757 ident: self.ident.clone(), 758 colon_token: self.colon_token.clone(), 759 ty: self.ty.clone(), 760 } 761 } 762 } 763 #[cfg(feature = "full")] 764 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 765 impl Clone for FieldPat { clone(&self) -> Self766 fn clone(&self) -> Self { 767 FieldPat { 768 attrs: self.attrs.clone(), 769 member: self.member.clone(), 770 colon_token: self.colon_token.clone(), 771 pat: self.pat.clone(), 772 } 773 } 774 } 775 #[cfg(feature = "full")] 776 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 777 impl Clone for FieldValue { clone(&self) -> Self778 fn clone(&self) -> Self { 779 FieldValue { 780 attrs: self.attrs.clone(), 781 member: self.member.clone(), 782 colon_token: self.colon_token.clone(), 783 expr: self.expr.clone(), 784 } 785 } 786 } 787 #[cfg(any(feature = "derive", feature = "full"))] 788 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 789 impl Clone for Fields { clone(&self) -> Self790 fn clone(&self) -> Self { 791 match self { 792 Fields::Named(v0) => Fields::Named(v0.clone()), 793 Fields::Unnamed(v0) => Fields::Unnamed(v0.clone()), 794 Fields::Unit => Fields::Unit, 795 } 796 } 797 } 798 #[cfg(any(feature = "derive", feature = "full"))] 799 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 800 impl Clone for FieldsNamed { clone(&self) -> Self801 fn clone(&self) -> Self { 802 FieldsNamed { 803 brace_token: self.brace_token.clone(), 804 named: self.named.clone(), 805 } 806 } 807 } 808 #[cfg(any(feature = "derive", feature = "full"))] 809 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 810 impl Clone for FieldsUnnamed { clone(&self) -> Self811 fn clone(&self) -> Self { 812 FieldsUnnamed { 813 paren_token: self.paren_token.clone(), 814 unnamed: self.unnamed.clone(), 815 } 816 } 817 } 818 #[cfg(feature = "full")] 819 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 820 impl Clone for File { clone(&self) -> Self821 fn clone(&self) -> Self { 822 File { 823 shebang: self.shebang.clone(), 824 attrs: self.attrs.clone(), 825 items: self.items.clone(), 826 } 827 } 828 } 829 #[cfg(feature = "full")] 830 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 831 impl Clone for FnArg { clone(&self) -> Self832 fn clone(&self) -> Self { 833 match self { 834 FnArg::Receiver(v0) => FnArg::Receiver(v0.clone()), 835 FnArg::Typed(v0) => FnArg::Typed(v0.clone()), 836 } 837 } 838 } 839 #[cfg(feature = "full")] 840 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 841 impl Clone for ForeignItem { clone(&self) -> Self842 fn clone(&self) -> Self { 843 match self { 844 ForeignItem::Fn(v0) => ForeignItem::Fn(v0.clone()), 845 ForeignItem::Static(v0) => ForeignItem::Static(v0.clone()), 846 ForeignItem::Type(v0) => ForeignItem::Type(v0.clone()), 847 ForeignItem::Macro(v0) => ForeignItem::Macro(v0.clone()), 848 ForeignItem::Verbatim(v0) => ForeignItem::Verbatim(v0.clone()), 849 #[cfg(syn_no_non_exhaustive)] 850 _ => unreachable!(), 851 } 852 } 853 } 854 #[cfg(feature = "full")] 855 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 856 impl Clone for ForeignItemFn { clone(&self) -> Self857 fn clone(&self) -> Self { 858 ForeignItemFn { 859 attrs: self.attrs.clone(), 860 vis: self.vis.clone(), 861 sig: self.sig.clone(), 862 semi_token: self.semi_token.clone(), 863 } 864 } 865 } 866 #[cfg(feature = "full")] 867 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 868 impl Clone for ForeignItemMacro { clone(&self) -> Self869 fn clone(&self) -> Self { 870 ForeignItemMacro { 871 attrs: self.attrs.clone(), 872 mac: self.mac.clone(), 873 semi_token: self.semi_token.clone(), 874 } 875 } 876 } 877 #[cfg(feature = "full")] 878 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 879 impl Clone for ForeignItemStatic { clone(&self) -> Self880 fn clone(&self) -> Self { 881 ForeignItemStatic { 882 attrs: self.attrs.clone(), 883 vis: self.vis.clone(), 884 static_token: self.static_token.clone(), 885 mutability: self.mutability.clone(), 886 ident: self.ident.clone(), 887 colon_token: self.colon_token.clone(), 888 ty: self.ty.clone(), 889 semi_token: self.semi_token.clone(), 890 } 891 } 892 } 893 #[cfg(feature = "full")] 894 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 895 impl Clone for ForeignItemType { clone(&self) -> Self896 fn clone(&self) -> Self { 897 ForeignItemType { 898 attrs: self.attrs.clone(), 899 vis: self.vis.clone(), 900 type_token: self.type_token.clone(), 901 ident: self.ident.clone(), 902 semi_token: self.semi_token.clone(), 903 } 904 } 905 } 906 #[cfg(any(feature = "derive", feature = "full"))] 907 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 908 impl Clone for GenericArgument { clone(&self) -> Self909 fn clone(&self) -> Self { 910 match self { 911 GenericArgument::Lifetime(v0) => GenericArgument::Lifetime(v0.clone()), 912 GenericArgument::Type(v0) => GenericArgument::Type(v0.clone()), 913 GenericArgument::Const(v0) => GenericArgument::Const(v0.clone()), 914 GenericArgument::Binding(v0) => GenericArgument::Binding(v0.clone()), 915 GenericArgument::Constraint(v0) => GenericArgument::Constraint(v0.clone()), 916 } 917 } 918 } 919 #[cfg(feature = "full")] 920 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 921 impl Clone for GenericMethodArgument { clone(&self) -> Self922 fn clone(&self) -> Self { 923 match self { 924 GenericMethodArgument::Type(v0) => GenericMethodArgument::Type(v0.clone()), 925 GenericMethodArgument::Const(v0) => GenericMethodArgument::Const(v0.clone()), 926 } 927 } 928 } 929 #[cfg(any(feature = "derive", feature = "full"))] 930 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 931 impl Clone for GenericParam { clone(&self) -> Self932 fn clone(&self) -> Self { 933 match self { 934 GenericParam::Type(v0) => GenericParam::Type(v0.clone()), 935 GenericParam::Lifetime(v0) => GenericParam::Lifetime(v0.clone()), 936 GenericParam::Const(v0) => GenericParam::Const(v0.clone()), 937 } 938 } 939 } 940 #[cfg(any(feature = "derive", feature = "full"))] 941 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 942 impl Clone for Generics { clone(&self) -> Self943 fn clone(&self) -> Self { 944 Generics { 945 lt_token: self.lt_token.clone(), 946 params: self.params.clone(), 947 gt_token: self.gt_token.clone(), 948 where_clause: self.where_clause.clone(), 949 } 950 } 951 } 952 #[cfg(feature = "full")] 953 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 954 impl Clone for ImplItem { clone(&self) -> Self955 fn clone(&self) -> Self { 956 match self { 957 ImplItem::Const(v0) => ImplItem::Const(v0.clone()), 958 ImplItem::Method(v0) => ImplItem::Method(v0.clone()), 959 ImplItem::Type(v0) => ImplItem::Type(v0.clone()), 960 ImplItem::Macro(v0) => ImplItem::Macro(v0.clone()), 961 ImplItem::Verbatim(v0) => ImplItem::Verbatim(v0.clone()), 962 #[cfg(syn_no_non_exhaustive)] 963 _ => unreachable!(), 964 } 965 } 966 } 967 #[cfg(feature = "full")] 968 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 969 impl Clone for ImplItemConst { clone(&self) -> Self970 fn clone(&self) -> Self { 971 ImplItemConst { 972 attrs: self.attrs.clone(), 973 vis: self.vis.clone(), 974 defaultness: self.defaultness.clone(), 975 const_token: self.const_token.clone(), 976 ident: self.ident.clone(), 977 colon_token: self.colon_token.clone(), 978 ty: self.ty.clone(), 979 eq_token: self.eq_token.clone(), 980 expr: self.expr.clone(), 981 semi_token: self.semi_token.clone(), 982 } 983 } 984 } 985 #[cfg(feature = "full")] 986 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 987 impl Clone for ImplItemMacro { clone(&self) -> Self988 fn clone(&self) -> Self { 989 ImplItemMacro { 990 attrs: self.attrs.clone(), 991 mac: self.mac.clone(), 992 semi_token: self.semi_token.clone(), 993 } 994 } 995 } 996 #[cfg(feature = "full")] 997 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 998 impl Clone for ImplItemMethod { clone(&self) -> Self999 fn clone(&self) -> Self { 1000 ImplItemMethod { 1001 attrs: self.attrs.clone(), 1002 vis: self.vis.clone(), 1003 defaultness: self.defaultness.clone(), 1004 sig: self.sig.clone(), 1005 block: self.block.clone(), 1006 } 1007 } 1008 } 1009 #[cfg(feature = "full")] 1010 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1011 impl Clone for ImplItemType { clone(&self) -> Self1012 fn clone(&self) -> Self { 1013 ImplItemType { 1014 attrs: self.attrs.clone(), 1015 vis: self.vis.clone(), 1016 defaultness: self.defaultness.clone(), 1017 type_token: self.type_token.clone(), 1018 ident: self.ident.clone(), 1019 generics: self.generics.clone(), 1020 eq_token: self.eq_token.clone(), 1021 ty: self.ty.clone(), 1022 semi_token: self.semi_token.clone(), 1023 } 1024 } 1025 } 1026 #[cfg(any(feature = "derive", feature = "full"))] 1027 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1028 impl Clone for Index { clone(&self) -> Self1029 fn clone(&self) -> Self { 1030 Index { 1031 index: self.index.clone(), 1032 span: self.span.clone(), 1033 } 1034 } 1035 } 1036 #[cfg(feature = "full")] 1037 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1038 impl Clone for Item { clone(&self) -> Self1039 fn clone(&self) -> Self { 1040 match self { 1041 Item::Const(v0) => Item::Const(v0.clone()), 1042 Item::Enum(v0) => Item::Enum(v0.clone()), 1043 Item::ExternCrate(v0) => Item::ExternCrate(v0.clone()), 1044 Item::Fn(v0) => Item::Fn(v0.clone()), 1045 Item::ForeignMod(v0) => Item::ForeignMod(v0.clone()), 1046 Item::Impl(v0) => Item::Impl(v0.clone()), 1047 Item::Macro(v0) => Item::Macro(v0.clone()), 1048 Item::Macro2(v0) => Item::Macro2(v0.clone()), 1049 Item::Mod(v0) => Item::Mod(v0.clone()), 1050 Item::Static(v0) => Item::Static(v0.clone()), 1051 Item::Struct(v0) => Item::Struct(v0.clone()), 1052 Item::Trait(v0) => Item::Trait(v0.clone()), 1053 Item::TraitAlias(v0) => Item::TraitAlias(v0.clone()), 1054 Item::Type(v0) => Item::Type(v0.clone()), 1055 Item::Union(v0) => Item::Union(v0.clone()), 1056 Item::Use(v0) => Item::Use(v0.clone()), 1057 Item::Verbatim(v0) => Item::Verbatim(v0.clone()), 1058 #[cfg(syn_no_non_exhaustive)] 1059 _ => unreachable!(), 1060 } 1061 } 1062 } 1063 #[cfg(feature = "full")] 1064 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1065 impl Clone for ItemConst { clone(&self) -> Self1066 fn clone(&self) -> Self { 1067 ItemConst { 1068 attrs: self.attrs.clone(), 1069 vis: self.vis.clone(), 1070 const_token: self.const_token.clone(), 1071 ident: self.ident.clone(), 1072 colon_token: self.colon_token.clone(), 1073 ty: self.ty.clone(), 1074 eq_token: self.eq_token.clone(), 1075 expr: self.expr.clone(), 1076 semi_token: self.semi_token.clone(), 1077 } 1078 } 1079 } 1080 #[cfg(feature = "full")] 1081 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1082 impl Clone for ItemEnum { clone(&self) -> Self1083 fn clone(&self) -> Self { 1084 ItemEnum { 1085 attrs: self.attrs.clone(), 1086 vis: self.vis.clone(), 1087 enum_token: self.enum_token.clone(), 1088 ident: self.ident.clone(), 1089 generics: self.generics.clone(), 1090 brace_token: self.brace_token.clone(), 1091 variants: self.variants.clone(), 1092 } 1093 } 1094 } 1095 #[cfg(feature = "full")] 1096 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1097 impl Clone for ItemExternCrate { clone(&self) -> Self1098 fn clone(&self) -> Self { 1099 ItemExternCrate { 1100 attrs: self.attrs.clone(), 1101 vis: self.vis.clone(), 1102 extern_token: self.extern_token.clone(), 1103 crate_token: self.crate_token.clone(), 1104 ident: self.ident.clone(), 1105 rename: self.rename.clone(), 1106 semi_token: self.semi_token.clone(), 1107 } 1108 } 1109 } 1110 #[cfg(feature = "full")] 1111 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1112 impl Clone for ItemFn { clone(&self) -> Self1113 fn clone(&self) -> Self { 1114 ItemFn { 1115 attrs: self.attrs.clone(), 1116 vis: self.vis.clone(), 1117 sig: self.sig.clone(), 1118 block: self.block.clone(), 1119 } 1120 } 1121 } 1122 #[cfg(feature = "full")] 1123 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1124 impl Clone for ItemForeignMod { clone(&self) -> Self1125 fn clone(&self) -> Self { 1126 ItemForeignMod { 1127 attrs: self.attrs.clone(), 1128 abi: self.abi.clone(), 1129 brace_token: self.brace_token.clone(), 1130 items: self.items.clone(), 1131 } 1132 } 1133 } 1134 #[cfg(feature = "full")] 1135 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1136 impl Clone for ItemImpl { clone(&self) -> Self1137 fn clone(&self) -> Self { 1138 ItemImpl { 1139 attrs: self.attrs.clone(), 1140 defaultness: self.defaultness.clone(), 1141 unsafety: self.unsafety.clone(), 1142 impl_token: self.impl_token.clone(), 1143 generics: self.generics.clone(), 1144 trait_: self.trait_.clone(), 1145 self_ty: self.self_ty.clone(), 1146 brace_token: self.brace_token.clone(), 1147 items: self.items.clone(), 1148 } 1149 } 1150 } 1151 #[cfg(feature = "full")] 1152 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1153 impl Clone for ItemMacro { clone(&self) -> Self1154 fn clone(&self) -> Self { 1155 ItemMacro { 1156 attrs: self.attrs.clone(), 1157 ident: self.ident.clone(), 1158 mac: self.mac.clone(), 1159 semi_token: self.semi_token.clone(), 1160 } 1161 } 1162 } 1163 #[cfg(feature = "full")] 1164 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1165 impl Clone for ItemMacro2 { clone(&self) -> Self1166 fn clone(&self) -> Self { 1167 ItemMacro2 { 1168 attrs: self.attrs.clone(), 1169 vis: self.vis.clone(), 1170 macro_token: self.macro_token.clone(), 1171 ident: self.ident.clone(), 1172 rules: self.rules.clone(), 1173 } 1174 } 1175 } 1176 #[cfg(feature = "full")] 1177 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1178 impl Clone for ItemMod { clone(&self) -> Self1179 fn clone(&self) -> Self { 1180 ItemMod { 1181 attrs: self.attrs.clone(), 1182 vis: self.vis.clone(), 1183 mod_token: self.mod_token.clone(), 1184 ident: self.ident.clone(), 1185 content: self.content.clone(), 1186 semi: self.semi.clone(), 1187 } 1188 } 1189 } 1190 #[cfg(feature = "full")] 1191 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1192 impl Clone for ItemStatic { clone(&self) -> Self1193 fn clone(&self) -> Self { 1194 ItemStatic { 1195 attrs: self.attrs.clone(), 1196 vis: self.vis.clone(), 1197 static_token: self.static_token.clone(), 1198 mutability: self.mutability.clone(), 1199 ident: self.ident.clone(), 1200 colon_token: self.colon_token.clone(), 1201 ty: self.ty.clone(), 1202 eq_token: self.eq_token.clone(), 1203 expr: self.expr.clone(), 1204 semi_token: self.semi_token.clone(), 1205 } 1206 } 1207 } 1208 #[cfg(feature = "full")] 1209 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1210 impl Clone for ItemStruct { clone(&self) -> Self1211 fn clone(&self) -> Self { 1212 ItemStruct { 1213 attrs: self.attrs.clone(), 1214 vis: self.vis.clone(), 1215 struct_token: self.struct_token.clone(), 1216 ident: self.ident.clone(), 1217 generics: self.generics.clone(), 1218 fields: self.fields.clone(), 1219 semi_token: self.semi_token.clone(), 1220 } 1221 } 1222 } 1223 #[cfg(feature = "full")] 1224 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1225 impl Clone for ItemTrait { clone(&self) -> Self1226 fn clone(&self) -> Self { 1227 ItemTrait { 1228 attrs: self.attrs.clone(), 1229 vis: self.vis.clone(), 1230 unsafety: self.unsafety.clone(), 1231 auto_token: self.auto_token.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")))] 1244 impl Clone for ItemTraitAlias { clone(&self) -> Self1245 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")))] 1260 impl Clone for ItemType { clone(&self) -> Self1261 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")))] 1276 impl Clone for ItemUnion { clone(&self) -> Self1277 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")))] 1290 impl Clone for ItemUse { clone(&self) -> Self1291 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")))] 1304 impl Clone for Label { clone(&self) -> Self1305 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")))] 1314 impl Clone for LifetimeDef { clone(&self) -> Self1315 fn clone(&self) -> Self { 1316 LifetimeDef { 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")))] 1325 impl Clone for Lit { clone(&self) -> Self1326 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")))] 1340 impl Clone for LitBool { clone(&self) -> Self1341 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")))] 1350 impl Clone for Local { clone(&self) -> Self1351 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(any(feature = "derive", feature = "full"))] 1362 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1363 impl Clone for Macro { clone(&self) -> Self1364 fn clone(&self) -> Self { 1365 Macro { 1366 path: self.path.clone(), 1367 bang_token: self.bang_token.clone(), 1368 delimiter: self.delimiter.clone(), 1369 tokens: self.tokens.clone(), 1370 } 1371 } 1372 } 1373 #[cfg(any(feature = "derive", feature = "full"))] 1374 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1375 impl Clone for MacroDelimiter { clone(&self) -> Self1376 fn clone(&self) -> Self { 1377 match self { 1378 MacroDelimiter::Paren(v0) => MacroDelimiter::Paren(v0.clone()), 1379 MacroDelimiter::Brace(v0) => MacroDelimiter::Brace(v0.clone()), 1380 MacroDelimiter::Bracket(v0) => MacroDelimiter::Bracket(v0.clone()), 1381 } 1382 } 1383 } 1384 #[cfg(any(feature = "derive", feature = "full"))] 1385 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1386 impl Clone for Member { clone(&self) -> Self1387 fn clone(&self) -> Self { 1388 match self { 1389 Member::Named(v0) => Member::Named(v0.clone()), 1390 Member::Unnamed(v0) => Member::Unnamed(v0.clone()), 1391 } 1392 } 1393 } 1394 #[cfg(any(feature = "derive", feature = "full"))] 1395 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1396 impl Clone for Meta { clone(&self) -> Self1397 fn clone(&self) -> Self { 1398 match self { 1399 Meta::Path(v0) => Meta::Path(v0.clone()), 1400 Meta::List(v0) => Meta::List(v0.clone()), 1401 Meta::NameValue(v0) => Meta::NameValue(v0.clone()), 1402 } 1403 } 1404 } 1405 #[cfg(any(feature = "derive", feature = "full"))] 1406 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1407 impl Clone for MetaList { clone(&self) -> Self1408 fn clone(&self) -> Self { 1409 MetaList { 1410 path: self.path.clone(), 1411 paren_token: self.paren_token.clone(), 1412 nested: self.nested.clone(), 1413 } 1414 } 1415 } 1416 #[cfg(any(feature = "derive", feature = "full"))] 1417 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1418 impl Clone for MetaNameValue { clone(&self) -> Self1419 fn clone(&self) -> Self { 1420 MetaNameValue { 1421 path: self.path.clone(), 1422 eq_token: self.eq_token.clone(), 1423 lit: self.lit.clone(), 1424 } 1425 } 1426 } 1427 #[cfg(feature = "full")] 1428 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1429 impl Clone for MethodTurbofish { clone(&self) -> Self1430 fn clone(&self) -> Self { 1431 MethodTurbofish { 1432 colon2_token: self.colon2_token.clone(), 1433 lt_token: self.lt_token.clone(), 1434 args: self.args.clone(), 1435 gt_token: self.gt_token.clone(), 1436 } 1437 } 1438 } 1439 #[cfg(any(feature = "derive", feature = "full"))] 1440 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1441 impl Clone for NestedMeta { clone(&self) -> Self1442 fn clone(&self) -> Self { 1443 match self { 1444 NestedMeta::Meta(v0) => NestedMeta::Meta(v0.clone()), 1445 NestedMeta::Lit(v0) => NestedMeta::Lit(v0.clone()), 1446 } 1447 } 1448 } 1449 #[cfg(any(feature = "derive", feature = "full"))] 1450 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1451 impl Clone for ParenthesizedGenericArguments { clone(&self) -> Self1452 fn clone(&self) -> Self { 1453 ParenthesizedGenericArguments { 1454 paren_token: self.paren_token.clone(), 1455 inputs: self.inputs.clone(), 1456 output: self.output.clone(), 1457 } 1458 } 1459 } 1460 #[cfg(feature = "full")] 1461 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1462 impl Clone for Pat { clone(&self) -> Self1463 fn clone(&self) -> Self { 1464 match self { 1465 Pat::Box(v0) => Pat::Box(v0.clone()), 1466 Pat::Ident(v0) => Pat::Ident(v0.clone()), 1467 Pat::Lit(v0) => Pat::Lit(v0.clone()), 1468 Pat::Macro(v0) => Pat::Macro(v0.clone()), 1469 Pat::Or(v0) => Pat::Or(v0.clone()), 1470 Pat::Path(v0) => Pat::Path(v0.clone()), 1471 Pat::Range(v0) => Pat::Range(v0.clone()), 1472 Pat::Reference(v0) => Pat::Reference(v0.clone()), 1473 Pat::Rest(v0) => Pat::Rest(v0.clone()), 1474 Pat::Slice(v0) => Pat::Slice(v0.clone()), 1475 Pat::Struct(v0) => Pat::Struct(v0.clone()), 1476 Pat::Tuple(v0) => Pat::Tuple(v0.clone()), 1477 Pat::TupleStruct(v0) => Pat::TupleStruct(v0.clone()), 1478 Pat::Type(v0) => Pat::Type(v0.clone()), 1479 Pat::Verbatim(v0) => Pat::Verbatim(v0.clone()), 1480 Pat::Wild(v0) => Pat::Wild(v0.clone()), 1481 #[cfg(syn_no_non_exhaustive)] 1482 _ => unreachable!(), 1483 } 1484 } 1485 } 1486 #[cfg(feature = "full")] 1487 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1488 impl Clone for PatBox { clone(&self) -> Self1489 fn clone(&self) -> Self { 1490 PatBox { 1491 attrs: self.attrs.clone(), 1492 box_token: self.box_token.clone(), 1493 pat: self.pat.clone(), 1494 } 1495 } 1496 } 1497 #[cfg(feature = "full")] 1498 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1499 impl Clone for PatIdent { clone(&self) -> Self1500 fn clone(&self) -> Self { 1501 PatIdent { 1502 attrs: self.attrs.clone(), 1503 by_ref: self.by_ref.clone(), 1504 mutability: self.mutability.clone(), 1505 ident: self.ident.clone(), 1506 subpat: self.subpat.clone(), 1507 } 1508 } 1509 } 1510 #[cfg(feature = "full")] 1511 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1512 impl Clone for PatLit { clone(&self) -> Self1513 fn clone(&self) -> Self { 1514 PatLit { 1515 attrs: self.attrs.clone(), 1516 expr: self.expr.clone(), 1517 } 1518 } 1519 } 1520 #[cfg(feature = "full")] 1521 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1522 impl Clone for PatMacro { clone(&self) -> Self1523 fn clone(&self) -> Self { 1524 PatMacro { 1525 attrs: self.attrs.clone(), 1526 mac: self.mac.clone(), 1527 } 1528 } 1529 } 1530 #[cfg(feature = "full")] 1531 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1532 impl Clone for PatOr { clone(&self) -> Self1533 fn clone(&self) -> Self { 1534 PatOr { 1535 attrs: self.attrs.clone(), 1536 leading_vert: self.leading_vert.clone(), 1537 cases: self.cases.clone(), 1538 } 1539 } 1540 } 1541 #[cfg(feature = "full")] 1542 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1543 impl Clone for PatPath { clone(&self) -> Self1544 fn clone(&self) -> Self { 1545 PatPath { 1546 attrs: self.attrs.clone(), 1547 qself: self.qself.clone(), 1548 path: self.path.clone(), 1549 } 1550 } 1551 } 1552 #[cfg(feature = "full")] 1553 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1554 impl Clone for PatRange { clone(&self) -> Self1555 fn clone(&self) -> Self { 1556 PatRange { 1557 attrs: self.attrs.clone(), 1558 lo: self.lo.clone(), 1559 limits: self.limits.clone(), 1560 hi: self.hi.clone(), 1561 } 1562 } 1563 } 1564 #[cfg(feature = "full")] 1565 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1566 impl Clone for PatReference { clone(&self) -> Self1567 fn clone(&self) -> Self { 1568 PatReference { 1569 attrs: self.attrs.clone(), 1570 and_token: self.and_token.clone(), 1571 mutability: self.mutability.clone(), 1572 pat: self.pat.clone(), 1573 } 1574 } 1575 } 1576 #[cfg(feature = "full")] 1577 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1578 impl Clone for PatRest { clone(&self) -> Self1579 fn clone(&self) -> Self { 1580 PatRest { 1581 attrs: self.attrs.clone(), 1582 dot2_token: self.dot2_token.clone(), 1583 } 1584 } 1585 } 1586 #[cfg(feature = "full")] 1587 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1588 impl Clone for PatSlice { clone(&self) -> Self1589 fn clone(&self) -> Self { 1590 PatSlice { 1591 attrs: self.attrs.clone(), 1592 bracket_token: self.bracket_token.clone(), 1593 elems: self.elems.clone(), 1594 } 1595 } 1596 } 1597 #[cfg(feature = "full")] 1598 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1599 impl Clone for PatStruct { clone(&self) -> Self1600 fn clone(&self) -> Self { 1601 PatStruct { 1602 attrs: self.attrs.clone(), 1603 path: self.path.clone(), 1604 brace_token: self.brace_token.clone(), 1605 fields: self.fields.clone(), 1606 dot2_token: self.dot2_token.clone(), 1607 } 1608 } 1609 } 1610 #[cfg(feature = "full")] 1611 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1612 impl Clone for PatTuple { clone(&self) -> Self1613 fn clone(&self) -> Self { 1614 PatTuple { 1615 attrs: self.attrs.clone(), 1616 paren_token: self.paren_token.clone(), 1617 elems: self.elems.clone(), 1618 } 1619 } 1620 } 1621 #[cfg(feature = "full")] 1622 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1623 impl Clone for PatTupleStruct { clone(&self) -> Self1624 fn clone(&self) -> Self { 1625 PatTupleStruct { 1626 attrs: self.attrs.clone(), 1627 path: self.path.clone(), 1628 pat: self.pat.clone(), 1629 } 1630 } 1631 } 1632 #[cfg(feature = "full")] 1633 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1634 impl Clone for PatType { clone(&self) -> Self1635 fn clone(&self) -> Self { 1636 PatType { 1637 attrs: self.attrs.clone(), 1638 pat: self.pat.clone(), 1639 colon_token: self.colon_token.clone(), 1640 ty: self.ty.clone(), 1641 } 1642 } 1643 } 1644 #[cfg(feature = "full")] 1645 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1646 impl Clone for PatWild { clone(&self) -> Self1647 fn clone(&self) -> Self { 1648 PatWild { 1649 attrs: self.attrs.clone(), 1650 underscore_token: self.underscore_token.clone(), 1651 } 1652 } 1653 } 1654 #[cfg(any(feature = "derive", feature = "full"))] 1655 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1656 impl Clone for Path { clone(&self) -> Self1657 fn clone(&self) -> Self { 1658 Path { 1659 leading_colon: self.leading_colon.clone(), 1660 segments: self.segments.clone(), 1661 } 1662 } 1663 } 1664 #[cfg(any(feature = "derive", feature = "full"))] 1665 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1666 impl Clone for PathArguments { clone(&self) -> Self1667 fn clone(&self) -> Self { 1668 match self { 1669 PathArguments::None => PathArguments::None, 1670 PathArguments::AngleBracketed(v0) => { 1671 PathArguments::AngleBracketed(v0.clone()) 1672 } 1673 PathArguments::Parenthesized(v0) => PathArguments::Parenthesized(v0.clone()), 1674 } 1675 } 1676 } 1677 #[cfg(any(feature = "derive", feature = "full"))] 1678 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1679 impl Clone for PathSegment { clone(&self) -> Self1680 fn clone(&self) -> Self { 1681 PathSegment { 1682 ident: self.ident.clone(), 1683 arguments: self.arguments.clone(), 1684 } 1685 } 1686 } 1687 #[cfg(any(feature = "derive", feature = "full"))] 1688 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1689 impl Clone for PredicateEq { clone(&self) -> Self1690 fn clone(&self) -> Self { 1691 PredicateEq { 1692 lhs_ty: self.lhs_ty.clone(), 1693 eq_token: self.eq_token.clone(), 1694 rhs_ty: self.rhs_ty.clone(), 1695 } 1696 } 1697 } 1698 #[cfg(any(feature = "derive", feature = "full"))] 1699 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1700 impl Clone for PredicateLifetime { clone(&self) -> Self1701 fn clone(&self) -> Self { 1702 PredicateLifetime { 1703 lifetime: self.lifetime.clone(), 1704 colon_token: self.colon_token.clone(), 1705 bounds: self.bounds.clone(), 1706 } 1707 } 1708 } 1709 #[cfg(any(feature = "derive", feature = "full"))] 1710 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1711 impl Clone for PredicateType { clone(&self) -> Self1712 fn clone(&self) -> Self { 1713 PredicateType { 1714 lifetimes: self.lifetimes.clone(), 1715 bounded_ty: self.bounded_ty.clone(), 1716 colon_token: self.colon_token.clone(), 1717 bounds: self.bounds.clone(), 1718 } 1719 } 1720 } 1721 #[cfg(any(feature = "derive", feature = "full"))] 1722 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1723 impl Clone for QSelf { clone(&self) -> Self1724 fn clone(&self) -> Self { 1725 QSelf { 1726 lt_token: self.lt_token.clone(), 1727 ty: self.ty.clone(), 1728 position: self.position.clone(), 1729 as_token: self.as_token.clone(), 1730 gt_token: self.gt_token.clone(), 1731 } 1732 } 1733 } 1734 #[cfg(feature = "full")] 1735 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1736 impl Copy for RangeLimits {} 1737 #[cfg(feature = "full")] 1738 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1739 impl Clone for RangeLimits { clone(&self) -> Self1740 fn clone(&self) -> Self { 1741 *self 1742 } 1743 } 1744 #[cfg(feature = "full")] 1745 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1746 impl Clone for Receiver { clone(&self) -> Self1747 fn clone(&self) -> Self { 1748 Receiver { 1749 attrs: self.attrs.clone(), 1750 reference: self.reference.clone(), 1751 mutability: self.mutability.clone(), 1752 self_token: self.self_token.clone(), 1753 } 1754 } 1755 } 1756 #[cfg(any(feature = "derive", feature = "full"))] 1757 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1758 impl Clone for ReturnType { clone(&self) -> Self1759 fn clone(&self) -> Self { 1760 match self { 1761 ReturnType::Default => ReturnType::Default, 1762 ReturnType::Type(v0, v1) => ReturnType::Type(v0.clone(), v1.clone()), 1763 } 1764 } 1765 } 1766 #[cfg(feature = "full")] 1767 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1768 impl Clone for Signature { clone(&self) -> Self1769 fn clone(&self) -> Self { 1770 Signature { 1771 constness: self.constness.clone(), 1772 asyncness: self.asyncness.clone(), 1773 unsafety: self.unsafety.clone(), 1774 abi: self.abi.clone(), 1775 fn_token: self.fn_token.clone(), 1776 ident: self.ident.clone(), 1777 generics: self.generics.clone(), 1778 paren_token: self.paren_token.clone(), 1779 inputs: self.inputs.clone(), 1780 variadic: self.variadic.clone(), 1781 output: self.output.clone(), 1782 } 1783 } 1784 } 1785 #[cfg(feature = "full")] 1786 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1787 impl Clone for Stmt { clone(&self) -> Self1788 fn clone(&self) -> Self { 1789 match self { 1790 Stmt::Local(v0) => Stmt::Local(v0.clone()), 1791 Stmt::Item(v0) => Stmt::Item(v0.clone()), 1792 Stmt::Expr(v0) => Stmt::Expr(v0.clone()), 1793 Stmt::Semi(v0, v1) => Stmt::Semi(v0.clone(), v1.clone()), 1794 } 1795 } 1796 } 1797 #[cfg(any(feature = "derive", feature = "full"))] 1798 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1799 impl Clone for TraitBound { clone(&self) -> Self1800 fn clone(&self) -> Self { 1801 TraitBound { 1802 paren_token: self.paren_token.clone(), 1803 modifier: self.modifier.clone(), 1804 lifetimes: self.lifetimes.clone(), 1805 path: self.path.clone(), 1806 } 1807 } 1808 } 1809 #[cfg(any(feature = "derive", feature = "full"))] 1810 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1811 impl Copy for TraitBoundModifier {} 1812 #[cfg(any(feature = "derive", feature = "full"))] 1813 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1814 impl Clone for TraitBoundModifier { clone(&self) -> Self1815 fn clone(&self) -> Self { 1816 *self 1817 } 1818 } 1819 #[cfg(feature = "full")] 1820 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1821 impl Clone for TraitItem { clone(&self) -> Self1822 fn clone(&self) -> Self { 1823 match self { 1824 TraitItem::Const(v0) => TraitItem::Const(v0.clone()), 1825 TraitItem::Method(v0) => TraitItem::Method(v0.clone()), 1826 TraitItem::Type(v0) => TraitItem::Type(v0.clone()), 1827 TraitItem::Macro(v0) => TraitItem::Macro(v0.clone()), 1828 TraitItem::Verbatim(v0) => TraitItem::Verbatim(v0.clone()), 1829 #[cfg(syn_no_non_exhaustive)] 1830 _ => unreachable!(), 1831 } 1832 } 1833 } 1834 #[cfg(feature = "full")] 1835 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1836 impl Clone for TraitItemConst { clone(&self) -> Self1837 fn clone(&self) -> Self { 1838 TraitItemConst { 1839 attrs: self.attrs.clone(), 1840 const_token: self.const_token.clone(), 1841 ident: self.ident.clone(), 1842 colon_token: self.colon_token.clone(), 1843 ty: self.ty.clone(), 1844 default: self.default.clone(), 1845 semi_token: self.semi_token.clone(), 1846 } 1847 } 1848 } 1849 #[cfg(feature = "full")] 1850 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1851 impl Clone for TraitItemMacro { clone(&self) -> Self1852 fn clone(&self) -> Self { 1853 TraitItemMacro { 1854 attrs: self.attrs.clone(), 1855 mac: self.mac.clone(), 1856 semi_token: self.semi_token.clone(), 1857 } 1858 } 1859 } 1860 #[cfg(feature = "full")] 1861 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1862 impl Clone for TraitItemMethod { clone(&self) -> Self1863 fn clone(&self) -> Self { 1864 TraitItemMethod { 1865 attrs: self.attrs.clone(), 1866 sig: self.sig.clone(), 1867 default: self.default.clone(), 1868 semi_token: self.semi_token.clone(), 1869 } 1870 } 1871 } 1872 #[cfg(feature = "full")] 1873 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1874 impl Clone for TraitItemType { clone(&self) -> Self1875 fn clone(&self) -> Self { 1876 TraitItemType { 1877 attrs: self.attrs.clone(), 1878 type_token: self.type_token.clone(), 1879 ident: self.ident.clone(), 1880 generics: self.generics.clone(), 1881 colon_token: self.colon_token.clone(), 1882 bounds: self.bounds.clone(), 1883 default: self.default.clone(), 1884 semi_token: self.semi_token.clone(), 1885 } 1886 } 1887 } 1888 #[cfg(any(feature = "derive", feature = "full"))] 1889 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1890 impl Clone for Type { clone(&self) -> Self1891 fn clone(&self) -> Self { 1892 match self { 1893 Type::Array(v0) => Type::Array(v0.clone()), 1894 Type::BareFn(v0) => Type::BareFn(v0.clone()), 1895 Type::Group(v0) => Type::Group(v0.clone()), 1896 Type::ImplTrait(v0) => Type::ImplTrait(v0.clone()), 1897 Type::Infer(v0) => Type::Infer(v0.clone()), 1898 Type::Macro(v0) => Type::Macro(v0.clone()), 1899 Type::Never(v0) => Type::Never(v0.clone()), 1900 Type::Paren(v0) => Type::Paren(v0.clone()), 1901 Type::Path(v0) => Type::Path(v0.clone()), 1902 Type::Ptr(v0) => Type::Ptr(v0.clone()), 1903 Type::Reference(v0) => Type::Reference(v0.clone()), 1904 Type::Slice(v0) => Type::Slice(v0.clone()), 1905 Type::TraitObject(v0) => Type::TraitObject(v0.clone()), 1906 Type::Tuple(v0) => Type::Tuple(v0.clone()), 1907 Type::Verbatim(v0) => Type::Verbatim(v0.clone()), 1908 #[cfg(syn_no_non_exhaustive)] 1909 _ => unreachable!(), 1910 } 1911 } 1912 } 1913 #[cfg(any(feature = "derive", feature = "full"))] 1914 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1915 impl Clone for TypeArray { clone(&self) -> Self1916 fn clone(&self) -> Self { 1917 TypeArray { 1918 bracket_token: self.bracket_token.clone(), 1919 elem: self.elem.clone(), 1920 semi_token: self.semi_token.clone(), 1921 len: self.len.clone(), 1922 } 1923 } 1924 } 1925 #[cfg(any(feature = "derive", feature = "full"))] 1926 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1927 impl Clone for TypeBareFn { clone(&self) -> Self1928 fn clone(&self) -> Self { 1929 TypeBareFn { 1930 lifetimes: self.lifetimes.clone(), 1931 unsafety: self.unsafety.clone(), 1932 abi: self.abi.clone(), 1933 fn_token: self.fn_token.clone(), 1934 paren_token: self.paren_token.clone(), 1935 inputs: self.inputs.clone(), 1936 variadic: self.variadic.clone(), 1937 output: self.output.clone(), 1938 } 1939 } 1940 } 1941 #[cfg(any(feature = "derive", feature = "full"))] 1942 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1943 impl Clone for TypeGroup { clone(&self) -> Self1944 fn clone(&self) -> Self { 1945 TypeGroup { 1946 group_token: self.group_token.clone(), 1947 elem: self.elem.clone(), 1948 } 1949 } 1950 } 1951 #[cfg(any(feature = "derive", feature = "full"))] 1952 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1953 impl Clone for TypeImplTrait { clone(&self) -> Self1954 fn clone(&self) -> Self { 1955 TypeImplTrait { 1956 impl_token: self.impl_token.clone(), 1957 bounds: self.bounds.clone(), 1958 } 1959 } 1960 } 1961 #[cfg(any(feature = "derive", feature = "full"))] 1962 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1963 impl Clone for TypeInfer { clone(&self) -> Self1964 fn clone(&self) -> Self { 1965 TypeInfer { 1966 underscore_token: self.underscore_token.clone(), 1967 } 1968 } 1969 } 1970 #[cfg(any(feature = "derive", feature = "full"))] 1971 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1972 impl Clone for TypeMacro { clone(&self) -> Self1973 fn clone(&self) -> Self { 1974 TypeMacro { mac: self.mac.clone() } 1975 } 1976 } 1977 #[cfg(any(feature = "derive", feature = "full"))] 1978 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1979 impl Clone for TypeNever { clone(&self) -> Self1980 fn clone(&self) -> Self { 1981 TypeNever { 1982 bang_token: self.bang_token.clone(), 1983 } 1984 } 1985 } 1986 #[cfg(any(feature = "derive", feature = "full"))] 1987 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 1988 impl Clone for TypeParam { clone(&self) -> Self1989 fn clone(&self) -> Self { 1990 TypeParam { 1991 attrs: self.attrs.clone(), 1992 ident: self.ident.clone(), 1993 colon_token: self.colon_token.clone(), 1994 bounds: self.bounds.clone(), 1995 eq_token: self.eq_token.clone(), 1996 default: self.default.clone(), 1997 } 1998 } 1999 } 2000 #[cfg(any(feature = "derive", feature = "full"))] 2001 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2002 impl Clone for TypeParamBound { clone(&self) -> Self2003 fn clone(&self) -> Self { 2004 match self { 2005 TypeParamBound::Trait(v0) => TypeParamBound::Trait(v0.clone()), 2006 TypeParamBound::Lifetime(v0) => TypeParamBound::Lifetime(v0.clone()), 2007 } 2008 } 2009 } 2010 #[cfg(any(feature = "derive", feature = "full"))] 2011 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2012 impl Clone for TypeParen { clone(&self) -> Self2013 fn clone(&self) -> Self { 2014 TypeParen { 2015 paren_token: self.paren_token.clone(), 2016 elem: self.elem.clone(), 2017 } 2018 } 2019 } 2020 #[cfg(any(feature = "derive", feature = "full"))] 2021 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2022 impl Clone for TypePath { clone(&self) -> Self2023 fn clone(&self) -> Self { 2024 TypePath { 2025 qself: self.qself.clone(), 2026 path: self.path.clone(), 2027 } 2028 } 2029 } 2030 #[cfg(any(feature = "derive", feature = "full"))] 2031 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2032 impl Clone for TypePtr { clone(&self) -> Self2033 fn clone(&self) -> Self { 2034 TypePtr { 2035 star_token: self.star_token.clone(), 2036 const_token: self.const_token.clone(), 2037 mutability: self.mutability.clone(), 2038 elem: self.elem.clone(), 2039 } 2040 } 2041 } 2042 #[cfg(any(feature = "derive", feature = "full"))] 2043 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2044 impl Clone for TypeReference { clone(&self) -> Self2045 fn clone(&self) -> Self { 2046 TypeReference { 2047 and_token: self.and_token.clone(), 2048 lifetime: self.lifetime.clone(), 2049 mutability: self.mutability.clone(), 2050 elem: self.elem.clone(), 2051 } 2052 } 2053 } 2054 #[cfg(any(feature = "derive", feature = "full"))] 2055 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2056 impl Clone for TypeSlice { clone(&self) -> Self2057 fn clone(&self) -> Self { 2058 TypeSlice { 2059 bracket_token: self.bracket_token.clone(), 2060 elem: self.elem.clone(), 2061 } 2062 } 2063 } 2064 #[cfg(any(feature = "derive", feature = "full"))] 2065 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2066 impl Clone for TypeTraitObject { clone(&self) -> Self2067 fn clone(&self) -> Self { 2068 TypeTraitObject { 2069 dyn_token: self.dyn_token.clone(), 2070 bounds: self.bounds.clone(), 2071 } 2072 } 2073 } 2074 #[cfg(any(feature = "derive", feature = "full"))] 2075 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2076 impl Clone for TypeTuple { clone(&self) -> Self2077 fn clone(&self) -> Self { 2078 TypeTuple { 2079 paren_token: self.paren_token.clone(), 2080 elems: self.elems.clone(), 2081 } 2082 } 2083 } 2084 #[cfg(any(feature = "derive", feature = "full"))] 2085 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2086 impl Copy for UnOp {} 2087 #[cfg(any(feature = "derive", feature = "full"))] 2088 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2089 impl Clone for UnOp { clone(&self) -> Self2090 fn clone(&self) -> Self { 2091 *self 2092 } 2093 } 2094 #[cfg(feature = "full")] 2095 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2096 impl Clone for UseGlob { clone(&self) -> Self2097 fn clone(&self) -> Self { 2098 UseGlob { 2099 star_token: self.star_token.clone(), 2100 } 2101 } 2102 } 2103 #[cfg(feature = "full")] 2104 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2105 impl Clone for UseGroup { clone(&self) -> Self2106 fn clone(&self) -> Self { 2107 UseGroup { 2108 brace_token: self.brace_token.clone(), 2109 items: self.items.clone(), 2110 } 2111 } 2112 } 2113 #[cfg(feature = "full")] 2114 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2115 impl Clone for UseName { clone(&self) -> Self2116 fn clone(&self) -> Self { 2117 UseName { 2118 ident: self.ident.clone(), 2119 } 2120 } 2121 } 2122 #[cfg(feature = "full")] 2123 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2124 impl Clone for UsePath { clone(&self) -> Self2125 fn clone(&self) -> Self { 2126 UsePath { 2127 ident: self.ident.clone(), 2128 colon2_token: self.colon2_token.clone(), 2129 tree: self.tree.clone(), 2130 } 2131 } 2132 } 2133 #[cfg(feature = "full")] 2134 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2135 impl Clone for UseRename { clone(&self) -> Self2136 fn clone(&self) -> Self { 2137 UseRename { 2138 ident: self.ident.clone(), 2139 as_token: self.as_token.clone(), 2140 rename: self.rename.clone(), 2141 } 2142 } 2143 } 2144 #[cfg(feature = "full")] 2145 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2146 impl Clone for UseTree { clone(&self) -> Self2147 fn clone(&self) -> Self { 2148 match self { 2149 UseTree::Path(v0) => UseTree::Path(v0.clone()), 2150 UseTree::Name(v0) => UseTree::Name(v0.clone()), 2151 UseTree::Rename(v0) => UseTree::Rename(v0.clone()), 2152 UseTree::Glob(v0) => UseTree::Glob(v0.clone()), 2153 UseTree::Group(v0) => UseTree::Group(v0.clone()), 2154 } 2155 } 2156 } 2157 #[cfg(any(feature = "derive", feature = "full"))] 2158 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2159 impl Clone for Variadic { clone(&self) -> Self2160 fn clone(&self) -> Self { 2161 Variadic { 2162 attrs: self.attrs.clone(), 2163 dots: self.dots.clone(), 2164 } 2165 } 2166 } 2167 #[cfg(any(feature = "derive", feature = "full"))] 2168 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2169 impl Clone for Variant { clone(&self) -> Self2170 fn clone(&self) -> Self { 2171 Variant { 2172 attrs: self.attrs.clone(), 2173 ident: self.ident.clone(), 2174 fields: self.fields.clone(), 2175 discriminant: self.discriminant.clone(), 2176 } 2177 } 2178 } 2179 #[cfg(any(feature = "derive", feature = "full"))] 2180 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2181 impl Clone for VisCrate { clone(&self) -> Self2182 fn clone(&self) -> Self { 2183 VisCrate { 2184 crate_token: self.crate_token.clone(), 2185 } 2186 } 2187 } 2188 #[cfg(any(feature = "derive", feature = "full"))] 2189 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2190 impl Clone for VisPublic { clone(&self) -> Self2191 fn clone(&self) -> Self { 2192 VisPublic { 2193 pub_token: self.pub_token.clone(), 2194 } 2195 } 2196 } 2197 #[cfg(any(feature = "derive", feature = "full"))] 2198 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2199 impl Clone for VisRestricted { clone(&self) -> Self2200 fn clone(&self) -> Self { 2201 VisRestricted { 2202 pub_token: self.pub_token.clone(), 2203 paren_token: self.paren_token.clone(), 2204 in_token: self.in_token.clone(), 2205 path: self.path.clone(), 2206 } 2207 } 2208 } 2209 #[cfg(any(feature = "derive", feature = "full"))] 2210 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2211 impl Clone for Visibility { clone(&self) -> Self2212 fn clone(&self) -> Self { 2213 match self { 2214 Visibility::Public(v0) => Visibility::Public(v0.clone()), 2215 Visibility::Crate(v0) => Visibility::Crate(v0.clone()), 2216 Visibility::Restricted(v0) => Visibility::Restricted(v0.clone()), 2217 Visibility::Inherited => Visibility::Inherited, 2218 } 2219 } 2220 } 2221 #[cfg(any(feature = "derive", feature = "full"))] 2222 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2223 impl Clone for WhereClause { clone(&self) -> Self2224 fn clone(&self) -> Self { 2225 WhereClause { 2226 where_token: self.where_token.clone(), 2227 predicates: self.predicates.clone(), 2228 } 2229 } 2230 } 2231 #[cfg(any(feature = "derive", feature = "full"))] 2232 #[cfg_attr(doc_cfg, doc(cfg(feature = "clone-impls")))] 2233 impl Clone for WherePredicate { clone(&self) -> Self2234 fn clone(&self) -> Self { 2235 match self { 2236 WherePredicate::Type(v0) => WherePredicate::Type(v0.clone()), 2237 WherePredicate::Lifetime(v0) => WherePredicate::Lifetime(v0.clone()), 2238 WherePredicate::Eq(v0) => WherePredicate::Eq(v0.clone()), 2239 } 2240 } 2241 } 2242