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