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