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