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