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