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