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