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