#[cfg(any(feature = "derive", feature = "full"))]
use crate::tt::TokenStreamHelper;
#[cfg(feature = "extra-traits")]
use alloc::string::ToString;
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Abi {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Abi {
fn eq(&self, other: &Self) -> bool {
self.name == other.name
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::AngleBracketedGenericArguments {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::AngleBracketedGenericArguments {
fn eq(&self, other: &Self) -> bool {
self.colon2_token == other.colon2_token && self.args == other.args
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Arm {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Arm {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.pat == other.pat && self.guard == other.guard
&& self.body == other.body && self.comma == other.comma
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Assert {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Assert {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr
&& self.by_token == other.by_token && self.prover == other.prover
&& self.requires == other.requires && self.body == other.body
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::AssertForall {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::AssertForall {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.inputs == other.inputs
&& self.expr == other.expr && self.implies == other.implies
&& self.body == other.body
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::AssocConst {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::AssocConst {
fn eq(&self, other: &Self) -> bool {
self.ident == other.ident && self.generics == other.generics
&& self.value == other.value
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::AssocType {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::AssocType {
fn eq(&self, other: &Self) -> bool {
self.ident == other.ident && self.generics == other.generics
&& self.ty == other.ty
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Assume {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Assume {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::AssumeSpecification {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::AssumeSpecification {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis
&& self.generics == other.generics && self.qself == other.qself
&& self.path == other.path && self.inputs == other.inputs
&& self.output == other.output && self.requires == other.requires
&& self.ensures == other.ensures
&& self.default_ensures == other.default_ensures
&& self.returns == other.returns && self.invariants == other.invariants
&& self.unwind == other.unwind
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::AtomicSpec {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::AtomicSpec {
fn eq(&self, other: &Self) -> bool {
self.atomic_update == other.atomic_update
&& self.type_clause == other.type_clause
&& self.perm_clause == other.perm_clause && self.requires == other.requires
&& self.ensures == other.ensures && self.outer_mask == other.outer_mask
&& self.inner_mask == other.inner_mask
&& self.comma_token == other.comma_token
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::AtomicallyBlock {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::AtomicallyBlock {
fn eq(&self, other: &Self) -> bool {
self.label == other.label && self.loop_token == other.loop_token
&& self.update_fn_binder == other.update_fn_binder
&& self.comma_token == other.comma_token
&& self.spec_au_binder == other.spec_au_binder
&& self.invariant_except_breaks == other.invariant_except_breaks
&& self.invariants == other.invariants && self.ensures == other.ensures
&& self.body == other.body
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::AttrStyle {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::AttrStyle {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::AttrStyle::Outer, crate::AttrStyle::Outer) => true,
(crate::AttrStyle::Inner(_), crate::AttrStyle::Inner(_)) => true,
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Attribute {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Attribute {
fn eq(&self, other: &Self) -> bool {
self.style == other.style && self.meta == other.meta
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::BareFnArg {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::BareFnArg {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.name == other.name && self.ty == other.ty
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::BareVariadic {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::BareVariadic {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.name == other.name && self.comma == other.comma
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::BigAnd {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::BigAnd {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::BigAndExpr {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::BigAndExpr {
fn eq(&self, other: &Self) -> bool {
self.expr == other.expr
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::BigOr {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::BigOr {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::BigOrExpr {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::BigOrExpr {
fn eq(&self, other: &Self) -> bool {
self.expr == other.expr
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::BinOp {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::BinOp {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::BinOp::Add(_), crate::BinOp::Add(_)) => true,
(crate::BinOp::Sub(_), crate::BinOp::Sub(_)) => true,
(crate::BinOp::Mul(_), crate::BinOp::Mul(_)) => true,
(crate::BinOp::Div(_), crate::BinOp::Div(_)) => true,
(crate::BinOp::Rem(_), crate::BinOp::Rem(_)) => true,
(crate::BinOp::And(_), crate::BinOp::And(_)) => true,
(crate::BinOp::Or(_), crate::BinOp::Or(_)) => true,
(crate::BinOp::BitXor(_), crate::BinOp::BitXor(_)) => true,
(crate::BinOp::BitAnd(_), crate::BinOp::BitAnd(_)) => true,
(crate::BinOp::BitOr(_), crate::BinOp::BitOr(_)) => true,
(crate::BinOp::Shl(_), crate::BinOp::Shl(_)) => true,
(crate::BinOp::Shr(_), crate::BinOp::Shr(_)) => true,
(crate::BinOp::Eq(_), crate::BinOp::Eq(_)) => true,
(crate::BinOp::Lt(_), crate::BinOp::Lt(_)) => true,
(crate::BinOp::Le(_), crate::BinOp::Le(_)) => true,
(crate::BinOp::Ne(_), crate::BinOp::Ne(_)) => true,
(crate::BinOp::Ge(_), crate::BinOp::Ge(_)) => true,
(crate::BinOp::Gt(_), crate::BinOp::Gt(_)) => true,
(crate::BinOp::AddAssign(_), crate::BinOp::AddAssign(_)) => true,
(crate::BinOp::SubAssign(_), crate::BinOp::SubAssign(_)) => true,
(crate::BinOp::MulAssign(_), crate::BinOp::MulAssign(_)) => true,
(crate::BinOp::DivAssign(_), crate::BinOp::DivAssign(_)) => true,
(crate::BinOp::RemAssign(_), crate::BinOp::RemAssign(_)) => true,
(crate::BinOp::BitXorAssign(_), crate::BinOp::BitXorAssign(_)) => true,
(crate::BinOp::BitAndAssign(_), crate::BinOp::BitAndAssign(_)) => true,
(crate::BinOp::BitOrAssign(_), crate::BinOp::BitOrAssign(_)) => true,
(crate::BinOp::ShlAssign(_), crate::BinOp::ShlAssign(_)) => true,
(crate::BinOp::ShrAssign(_), crate::BinOp::ShrAssign(_)) => true,
(crate::BinOp::Equiv(_), crate::BinOp::Equiv(_)) => true,
(crate::BinOp::Imply(_), crate::BinOp::Imply(_)) => true,
(crate::BinOp::Exply(_), crate::BinOp::Exply(_)) => true,
(crate::BinOp::BigEq(_), crate::BinOp::BigEq(_)) => true,
(crate::BinOp::BigNe(_), crate::BinOp::BigNe(_)) => true,
(crate::BinOp::ExtEq(_), crate::BinOp::ExtEq(_)) => true,
(crate::BinOp::ExtNe(_), crate::BinOp::ExtNe(_)) => true,
(crate::BinOp::ExtDeepEq(_), crate::BinOp::ExtDeepEq(_)) => true,
(crate::BinOp::ExtDeepNe(_), crate::BinOp::ExtDeepNe(_)) => true,
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Block {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Block {
fn eq(&self, other: &Self) -> bool {
self.stmts == other.stmts
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::BoundLifetimes {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::BoundLifetimes {
fn eq(&self, other: &Self) -> bool {
self.lifetimes == other.lifetimes
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::BroadcastUse {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::BroadcastUse {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.brace_token == other.brace_token
&& self.paths == other.paths && self.warning == other.warning
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::CapturedParam {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::CapturedParam {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(
crate::CapturedParam::Lifetime(self0),
crate::CapturedParam::Lifetime(other0),
) => self0 == other0,
(crate::CapturedParam::Ident(self0), crate::CapturedParam::Ident(other0)) => {
self0 == other0
}
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Closed {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Closed {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ClosureArg {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ClosureArg {
fn eq(&self, other: &Self) -> bool {
self.tracked_token == other.tracked_token && self.pat == other.pat
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ConstParam {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ConstParam {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.ident == other.ident && self.ty == other.ty
&& self.eq_token == other.eq_token && self.default == other.default
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Constraint {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Constraint {
fn eq(&self, other: &Self) -> bool {
self.ident == other.ident && self.generics == other.generics
&& self.bounds == other.bounds
}
}
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Data {}
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Data {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::Data::Struct(self0), crate::Data::Struct(other0)) => self0 == other0,
(crate::Data::Enum(self0), crate::Data::Enum(other0)) => self0 == other0,
(crate::Data::Union(self0), crate::Data::Union(other0)) => self0 == other0,
_ => false,
}
}
}
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::DataEnum {}
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::DataEnum {
fn eq(&self, other: &Self) -> bool {
self.variants == other.variants
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::DataMode {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::DataMode {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::DataMode::Ghost(self0), crate::DataMode::Ghost(other0)) => {
self0 == other0
}
(crate::DataMode::Tracked(self0), crate::DataMode::Tracked(other0)) => {
self0 == other0
}
(crate::DataMode::Exec(self0), crate::DataMode::Exec(other0)) => {
self0 == other0
}
(crate::DataMode::Default, crate::DataMode::Default) => true,
_ => false,
}
}
}
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::DataStruct {}
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::DataStruct {
fn eq(&self, other: &Self) -> bool {
self.fields == other.fields && self.semi_token == other.semi_token
}
}
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::DataUnion {}
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::DataUnion {
fn eq(&self, other: &Self) -> bool {
self.fields == other.fields
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Decreases {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Decreases {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::DefaultEnsures {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::DefaultEnsures {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::DeriveInput {}
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::DeriveInput {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.mode == other.mode
&& self.ident == other.ident && self.generics == other.generics
&& self.data == other.data
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Ensures {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Ensures {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.exprs == other.exprs
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Expr {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Expr {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
#[cfg(feature = "full")]
(crate::Expr::Array(self0), crate::Expr::Array(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Assign(self0), crate::Expr::Assign(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Async(self0), crate::Expr::Async(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Await(self0), crate::Expr::Await(other0)) => self0 == other0,
(crate::Expr::Binary(self0), crate::Expr::Binary(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Block(self0), crate::Expr::Block(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Break(self0), crate::Expr::Break(other0)) => self0 == other0,
(crate::Expr::Call(self0), crate::Expr::Call(other0)) => self0 == other0,
(crate::Expr::Cast(self0), crate::Expr::Cast(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Closure(self0), crate::Expr::Closure(other0)) => {
self0 == other0
}
#[cfg(feature = "full")]
(crate::Expr::Const(self0), crate::Expr::Const(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Continue(self0), crate::Expr::Continue(other0)) => {
self0 == other0
}
(crate::Expr::Field(self0), crate::Expr::Field(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::ForLoop(self0), crate::Expr::ForLoop(other0)) => {
self0 == other0
}
(crate::Expr::Group(self0), crate::Expr::Group(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::If(self0), crate::Expr::If(other0)) => self0 == other0,
(crate::Expr::Index(self0), crate::Expr::Index(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Infer(self0), crate::Expr::Infer(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Let(self0), crate::Expr::Let(other0)) => self0 == other0,
(crate::Expr::Lit(self0), crate::Expr::Lit(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Loop(self0), crate::Expr::Loop(other0)) => self0 == other0,
(crate::Expr::Macro(self0), crate::Expr::Macro(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Match(self0), crate::Expr::Match(other0)) => self0 == other0,
(crate::Expr::MethodCall(self0), crate::Expr::MethodCall(other0)) => {
self0 == other0
}
(crate::Expr::Paren(self0), crate::Expr::Paren(other0)) => self0 == other0,
(crate::Expr::Path(self0), crate::Expr::Path(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Range(self0), crate::Expr::Range(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::RawAddr(self0), crate::Expr::RawAddr(other0)) => {
self0 == other0
}
(crate::Expr::Reference(self0), crate::Expr::Reference(other0)) => {
self0 == other0
}
#[cfg(feature = "full")]
(crate::Expr::Repeat(self0), crate::Expr::Repeat(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Return(self0), crate::Expr::Return(other0)) => self0 == other0,
(crate::Expr::Struct(self0), crate::Expr::Struct(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Try(self0), crate::Expr::Try(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::TryBlock(self0), crate::Expr::TryBlock(other0)) => {
self0 == other0
}
(crate::Expr::Tuple(self0), crate::Expr::Tuple(other0)) => self0 == other0,
(crate::Expr::Unary(self0), crate::Expr::Unary(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Unsafe(self0), crate::Expr::Unsafe(other0)) => self0 == other0,
(crate::Expr::Verbatim(self0), crate::Expr::Verbatim(other0)) => {
TokenStreamHelper(self0) == TokenStreamHelper(other0)
}
#[cfg(feature = "full")]
(crate::Expr::While(self0), crate::Expr::While(other0)) => self0 == other0,
#[cfg(feature = "full")]
(crate::Expr::Yield(self0), crate::Expr::Yield(other0)) => self0 == other0,
(crate::Expr::Assume(self0), crate::Expr::Assume(other0)) => self0 == other0,
(crate::Expr::Assert(self0), crate::Expr::Assert(other0)) => self0 == other0,
(crate::Expr::AssertForall(self0), crate::Expr::AssertForall(other0)) => {
self0 == other0
}
(crate::Expr::RevealHide(self0), crate::Expr::RevealHide(other0)) => {
self0 == other0
}
(crate::Expr::View(self0), crate::Expr::View(other0)) => self0 == other0,
(crate::Expr::BigAnd(self0), crate::Expr::BigAnd(other0)) => self0 == other0,
(crate::Expr::BigOr(self0), crate::Expr::BigOr(other0)) => self0 == other0,
(crate::Expr::Is(self0), crate::Expr::Is(other0)) => self0 == other0,
(crate::Expr::IsNot(self0), crate::Expr::IsNot(other0)) => self0 == other0,
(crate::Expr::Has(self0), crate::Expr::Has(other0)) => self0 == other0,
(crate::Expr::HasNot(self0), crate::Expr::HasNot(other0)) => self0 == other0,
(crate::Expr::Matches(self0), crate::Expr::Matches(other0)) => {
self0 == other0
}
(crate::Expr::GetField(self0), crate::Expr::GetField(other0)) => {
self0 == other0
}
(crate::Expr::Final(self0), crate::Expr::Final(other0)) => self0 == other0,
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprArray {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprArray {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.elems == other.elems
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprAssign {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprAssign {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.left == other.left && self.right == other.right
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprAsync {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprAsync {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.capture == other.capture
&& self.block == other.block
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprAwait {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprAwait {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.base == other.base
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprBinary {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprBinary {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.left == other.left && self.op == other.op
&& self.right == other.right
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprBlock {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprBlock {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.label == other.label
&& self.block == other.block
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprBreak {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprBreak {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.label == other.label && self.expr == other.expr
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprCall {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprCall {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.func == other.func && self.args == other.args
&& self.atomically == other.atomically
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprCast {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprCast {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr && self.ty == other.ty
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprClosure {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprClosure {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.lifetimes == other.lifetimes
&& self.constness == other.constness && self.movability == other.movability
&& self.asyncness == other.asyncness && self.capture == other.capture
&& self.proof_fn == other.proof_fn && self.options == other.options
&& self.inputs == other.inputs && self.output == other.output
&& self.requires == other.requires && self.ensures == other.ensures
&& self.inner_attrs == other.inner_attrs && self.body == other.body
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprConst {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprConst {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.block == other.block
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprContinue {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprContinue {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.label == other.label
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprField {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprField {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.base == other.base
&& self.member == other.member
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprFinal {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprFinal {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.arg == other.arg
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprForLoop {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprForLoop {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.label == other.label && self.pat == other.pat
&& self.expr_name == other.expr_name && self.expr == other.expr
&& self.invariant_except_break == other.invariant_except_break
&& self.invariant == other.invariant && self.ensures == other.ensures
&& self.decreases == other.decreases && self.body == other.body
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprGetField {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprGetField {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.base == other.base
&& self.member == other.member
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprGroup {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprGroup {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprHas {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprHas {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.lhs == other.lhs && self.rhs == other.rhs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprHasNot {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprHasNot {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.lhs == other.lhs && self.rhs == other.rhs
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprIf {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprIf {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.cond == other.cond
&& self.then_branch == other.then_branch
&& self.else_branch == other.else_branch
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprIndex {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprIndex {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr && self.index == other.index
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprInfer {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprInfer {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprIs {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprIs {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.base == other.base
&& self.variant_ident == other.variant_ident
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprIsNot {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprIsNot {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.base == other.base
&& self.variant_ident == other.variant_ident
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprLet {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprLet {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.pat == other.pat && self.expr == other.expr
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprLit {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprLit {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.lit == other.lit
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprLoop {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprLoop {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.label == other.label
&& self.invariant_except_break == other.invariant_except_break
&& self.invariant == other.invariant
&& self.invariant_ensures == other.invariant_ensures
&& self.ensures == other.ensures && self.decreases == other.decreases
&& self.body == other.body
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprMacro {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprMacro {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.mac == other.mac
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprMatch {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprMatch {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr && self.arms == other.arms
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprMatches {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprMatches {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.lhs == other.lhs && self.pat == other.pat
&& self.op_expr == other.op_expr
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprMethodCall {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprMethodCall {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.receiver == other.receiver
&& self.method == other.method && self.turbofish == other.turbofish
&& self.args == other.args && self.atomically == other.atomically
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprParen {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprParen {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprPath {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprPath {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.qself == other.qself && self.path == other.path
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprRange {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprRange {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.start == other.start
&& self.limits == other.limits && self.end == other.end
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprRawAddr {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprRawAddr {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.mutability == other.mutability
&& self.expr == other.expr
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprReference {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprReference {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.mutability == other.mutability
&& self.expr == other.expr
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprRepeat {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprRepeat {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr && self.len == other.len
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprReturn {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprReturn {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprStruct {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprStruct {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.qself == other.qself && self.path == other.path
&& self.fields == other.fields && self.dot2_token == other.dot2_token
&& self.rest == other.rest
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprTry {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprTry {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprTryBlock {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprTryBlock {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.block == other.block
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprTuple {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprTuple {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.elems == other.elems
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprUnary {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprUnary {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.op == other.op && self.expr == other.expr
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprUnsafe {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprUnsafe {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.block == other.block
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprWhile {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprWhile {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.label == other.label && self.cond == other.cond
&& self.invariant_except_break == other.invariant_except_break
&& self.invariant == other.invariant
&& self.invariant_ensures == other.invariant_ensures
&& self.ensures == other.ensures && self.decreases == other.decreases
&& self.body == other.body
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ExprYield {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ExprYield {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Field {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Field {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.mode == other.mode
&& self.mutability == other.mutability && self.ident == other.ident
&& self.colon_token == other.colon_token && self.ty == other.ty
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::FieldMutability {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::FieldMutability {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::FieldMutability::None, crate::FieldMutability::None) => true,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::FieldPat {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::FieldPat {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.member == other.member
&& self.colon_token == other.colon_token && self.pat == other.pat
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::FieldValue {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::FieldValue {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.member == other.member
&& self.colon_token == other.colon_token && self.expr == other.expr
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Fields {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Fields {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::Fields::Named(self0), crate::Fields::Named(other0)) => {
self0 == other0
}
(crate::Fields::Unnamed(self0), crate::Fields::Unnamed(other0)) => {
self0 == other0
}
(crate::Fields::Unit, crate::Fields::Unit) => true,
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::FieldsNamed {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::FieldsNamed {
fn eq(&self, other: &Self) -> bool {
self.named == other.named
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::FieldsUnnamed {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::FieldsUnnamed {
fn eq(&self, other: &Self) -> bool {
self.unnamed == other.unnamed
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::File {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::File {
fn eq(&self, other: &Self) -> bool {
self.shebang == other.shebang && self.attrs == other.attrs
&& self.items == other.items
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::FnArg {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::FnArg {
fn eq(&self, other: &Self) -> bool {
self.tracked == other.tracked && self.kind == other.kind
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::FnArgKind {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::FnArgKind {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::FnArgKind::Receiver(self0), crate::FnArgKind::Receiver(other0)) => {
self0 == other0
}
(crate::FnArgKind::Typed(self0), crate::FnArgKind::Typed(other0)) => {
self0 == other0
}
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::FnMode {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::FnMode {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::FnMode::Spec(self0), crate::FnMode::Spec(other0)) => self0 == other0,
(crate::FnMode::SpecChecked(self0), crate::FnMode::SpecChecked(other0)) => {
self0 == other0
}
(crate::FnMode::Proof(self0), crate::FnMode::Proof(other0)) => {
self0 == other0
}
(crate::FnMode::ProofAxiom(self0), crate::FnMode::ProofAxiom(other0)) => {
self0 == other0
}
(crate::FnMode::Exec(self0), crate::FnMode::Exec(other0)) => self0 == other0,
(crate::FnMode::Default, crate::FnMode::Default) => true,
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::FnProofArg {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::FnProofArg {
fn eq(&self, other: &Self) -> bool {
self.tracked_token == other.tracked_token && self.arg == other.arg
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::FnProofOptions {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::FnProofOptions {
fn eq(&self, other: &Self) -> bool {
self.options == other.options
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ForeignItem {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ForeignItem {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::ForeignItem::Fn(self0), crate::ForeignItem::Fn(other0)) => {
self0 == other0
}
(crate::ForeignItem::Static(self0), crate::ForeignItem::Static(other0)) => {
self0 == other0
}
(crate::ForeignItem::Type(self0), crate::ForeignItem::Type(other0)) => {
self0 == other0
}
(crate::ForeignItem::Macro(self0), crate::ForeignItem::Macro(other0)) => {
self0 == other0
}
(
crate::ForeignItem::Verbatim(self0),
crate::ForeignItem::Verbatim(other0),
) => TokenStreamHelper(self0) == TokenStreamHelper(other0),
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ForeignItemFn {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ForeignItemFn {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.sig == other.sig
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ForeignItemMacro {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ForeignItemMacro {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.mac == other.mac
&& self.semi_token == other.semi_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ForeignItemStatic {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ForeignItemStatic {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis
&& self.mutability == other.mutability && self.ident == other.ident
&& self.ty == other.ty
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ForeignItemType {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ForeignItemType {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident
&& self.generics == other.generics
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::GenericArgument {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::GenericArgument {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(
crate::GenericArgument::Lifetime(self0),
crate::GenericArgument::Lifetime(other0),
) => self0 == other0,
(
crate::GenericArgument::Type(self0),
crate::GenericArgument::Type(other0),
) => self0 == other0,
(
crate::GenericArgument::Const(self0),
crate::GenericArgument::Const(other0),
) => self0 == other0,
(
crate::GenericArgument::AssocType(self0),
crate::GenericArgument::AssocType(other0),
) => self0 == other0,
(
crate::GenericArgument::AssocConst(self0),
crate::GenericArgument::AssocConst(other0),
) => self0 == other0,
(
crate::GenericArgument::Constraint(self0),
crate::GenericArgument::Constraint(other0),
) => self0 == other0,
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::GenericParam {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::GenericParam {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(
crate::GenericParam::Lifetime(self0),
crate::GenericParam::Lifetime(other0),
) => self0 == other0,
(crate::GenericParam::Type(self0), crate::GenericParam::Type(other0)) => {
self0 == other0
}
(crate::GenericParam::Const(self0), crate::GenericParam::Const(other0)) => {
self0 == other0
}
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Generics {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Generics {
fn eq(&self, other: &Self) -> bool {
self.lt_token == other.lt_token && self.params == other.params
&& self.gt_token == other.gt_token && self.where_clause == other.where_clause
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Global {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Global {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.inner == other.inner
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::GlobalInner {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::GlobalInner {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::GlobalInner::SizeOf(self0), crate::GlobalInner::SizeOf(other0)) => {
self0 == other0
}
(crate::GlobalInner::Layout(self0), crate::GlobalInner::Layout(other0)) => {
self0 == other0
}
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::GlobalLayout {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::GlobalLayout {
fn eq(&self, other: &Self) -> bool {
self.type_ == other.type_ && self.size == other.size && self.align == other.align
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::GlobalSizeOf {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::GlobalSizeOf {
fn eq(&self, other: &Self) -> bool {
self.type_ == other.type_ && self.expr_lit == other.expr_lit
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ImplItem {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ImplItem {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::ImplItem::Const(self0), crate::ImplItem::Const(other0)) => {
self0 == other0
}
(crate::ImplItem::Fn(self0), crate::ImplItem::Fn(other0)) => self0 == other0,
(crate::ImplItem::Type(self0), crate::ImplItem::Type(other0)) => {
self0 == other0
}
(crate::ImplItem::Macro(self0), crate::ImplItem::Macro(other0)) => {
self0 == other0
}
(crate::ImplItem::Verbatim(self0), crate::ImplItem::Verbatim(other0)) => {
TokenStreamHelper(self0) == TokenStreamHelper(other0)
}
(
crate::ImplItem::BroadcastGroup(self0),
crate::ImplItem::BroadcastGroup(other0),
) => self0 == other0,
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ImplItemConst {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ImplItemConst {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis
&& self.publish == other.publish && self.mode == other.mode
&& self.defaultness == other.defaultness && self.ident == other.ident
&& self.generics == other.generics && self.ty == other.ty
&& self.ensures == other.ensures && self.eq_token == other.eq_token
&& self.block == other.block && self.expr == other.expr
&& self.semi_token == other.semi_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ImplItemFn {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ImplItemFn {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis
&& self.defaultness == other.defaultness && self.sig == other.sig
&& self.block == other.block && self.semi_token == other.semi_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ImplItemMacro {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ImplItemMacro {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.mac == other.mac
&& self.semi_token == other.semi_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ImplItemType {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ImplItemType {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis
&& self.defaultness == other.defaultness && self.ident == other.ident
&& self.generics == other.generics && self.ty == other.ty
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ImplRestriction {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ImplRestriction {
fn eq(&self, _other: &Self) -> bool {
match *self {}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::InnerMask {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::InnerMask {
fn eq(&self, other: &Self) -> bool {
self.set == other.set && self.comma_token == other.comma_token
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Invariant {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Invariant {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::InvariantEnsures {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::InvariantEnsures {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::InvariantExceptBreak {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::InvariantExceptBreak {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::InvariantNameSet {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::InvariantNameSet {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(
crate::InvariantNameSet::Any(self0),
crate::InvariantNameSet::Any(other0),
) => self0 == other0,
(
crate::InvariantNameSet::None(self0),
crate::InvariantNameSet::None(other0),
) => self0 == other0,
(
crate::InvariantNameSet::List(self0),
crate::InvariantNameSet::List(other0),
) => self0 == other0,
(
crate::InvariantNameSet::ListCompl(self0),
crate::InvariantNameSet::ListCompl(other0),
) => self0 == other0,
(
crate::InvariantNameSet::Set(self0),
crate::InvariantNameSet::Set(other0),
) => self0 == other0,
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::InvariantNameSetAny {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::InvariantNameSetAny {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::InvariantNameSetList {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::InvariantNameSetList {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::InvariantNameSetListCompl {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::InvariantNameSetListCompl {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::InvariantNameSetNone {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::InvariantNameSetNone {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::InvariantNameSetSet {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::InvariantNameSetSet {
fn eq(&self, other: &Self) -> bool {
self.expr == other.expr
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Item {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Item {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::Item::Const(self0), crate::Item::Const(other0)) => self0 == other0,
(crate::Item::Enum(self0), crate::Item::Enum(other0)) => self0 == other0,
(crate::Item::ExternCrate(self0), crate::Item::ExternCrate(other0)) => {
self0 == other0
}
(crate::Item::Fn(self0), crate::Item::Fn(other0)) => self0 == other0,
(crate::Item::ForeignMod(self0), crate::Item::ForeignMod(other0)) => {
self0 == other0
}
(crate::Item::Impl(self0), crate::Item::Impl(other0)) => self0 == other0,
(crate::Item::Macro(self0), crate::Item::Macro(other0)) => self0 == other0,
(crate::Item::Mod(self0), crate::Item::Mod(other0)) => self0 == other0,
(crate::Item::Static(self0), crate::Item::Static(other0)) => self0 == other0,
(crate::Item::Struct(self0), crate::Item::Struct(other0)) => self0 == other0,
(crate::Item::Trait(self0), crate::Item::Trait(other0)) => self0 == other0,
(crate::Item::TraitAlias(self0), crate::Item::TraitAlias(other0)) => {
self0 == other0
}
(crate::Item::Type(self0), crate::Item::Type(other0)) => self0 == other0,
(crate::Item::Union(self0), crate::Item::Union(other0)) => self0 == other0,
(crate::Item::Use(self0), crate::Item::Use(other0)) => self0 == other0,
(crate::Item::Verbatim(self0), crate::Item::Verbatim(other0)) => {
TokenStreamHelper(self0) == TokenStreamHelper(other0)
}
(crate::Item::Global(self0), crate::Item::Global(other0)) => self0 == other0,
(crate::Item::BroadcastUse(self0), crate::Item::BroadcastUse(other0)) => {
self0 == other0
}
(crate::Item::BroadcastGroup(self0), crate::Item::BroadcastGroup(other0)) => {
self0 == other0
}
(
crate::Item::AssumeSpecification(self0),
crate::Item::AssumeSpecification(other0),
) => self0 == other0,
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemBroadcastGroup {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemBroadcastGroup {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident
&& self.paths == other.paths
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemConst {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemConst {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis
&& self.publish == other.publish && self.mode == other.mode
&& self.ident == other.ident && self.generics == other.generics
&& self.ty == other.ty && self.ensures == other.ensures
&& self.eq_token == other.eq_token && self.block == other.block
&& self.expr == other.expr && self.semi_token == other.semi_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemEnum {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemEnum {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.mode == other.mode
&& self.ident == other.ident && self.generics == other.generics
&& self.variants == other.variants
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemExternCrate {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemExternCrate {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident
&& self.rename == other.rename
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemFn {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemFn {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.sig == other.sig
&& self.block == other.block && self.semi_token == other.semi_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemForeignMod {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemForeignMod {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.unsafety == other.unsafety
&& self.abi == other.abi && self.items == other.items
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemImpl {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemImpl {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.defaultness == other.defaultness
&& self.unsafety == other.unsafety && self.constness == other.constness
&& self.generics == other.generics && self.trait_ == other.trait_
&& self.self_ty == other.self_ty && self.items == other.items
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemMacro {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemMacro {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.ident == other.ident && self.mac == other.mac
&& self.semi_token == other.semi_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemMod {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemMod {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis
&& self.unsafety == other.unsafety && self.ident == other.ident
&& self.content == other.content && self.semi == other.semi
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemStatic {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemStatic {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis
&& self.publish == other.publish && self.mode == other.mode
&& self.mutability == other.mutability && self.ident == other.ident
&& self.ty == other.ty && self.ensures == other.ensures
&& self.eq_token == other.eq_token && self.block == other.block
&& self.expr == other.expr && self.semi_token == other.semi_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemStruct {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemStruct {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.mode == other.mode
&& self.ident == other.ident && self.generics == other.generics
&& self.fields == other.fields && self.semi_token == other.semi_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemTrait {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemTrait {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis
&& self.constness == other.constness && self.unsafety == other.unsafety
&& self.auto_token == other.auto_token
&& self.restriction == other.restriction && self.ident == other.ident
&& self.generics == other.generics && self.colon_token == other.colon_token
&& self.supertraits == other.supertraits && self.items == other.items
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemTraitAlias {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemTraitAlias {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident
&& self.generics == other.generics && self.bounds == other.bounds
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemType {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemType {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident
&& self.generics == other.generics && self.ty == other.ty
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemUnion {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemUnion {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis && self.ident == other.ident
&& self.generics == other.generics && self.fields == other.fields
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ItemUse {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ItemUse {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.vis == other.vis
&& self.leading_colon == other.leading_colon && self.tree == other.tree
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Label {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Label {
fn eq(&self, other: &Self) -> bool {
self.name == other.name
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::LifetimeParam {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::LifetimeParam {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.lifetime == other.lifetime
&& self.colon_token == other.colon_token && self.bounds == other.bounds
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Lit {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Lit {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::Lit::Str(self0), crate::Lit::Str(other0)) => self0 == other0,
(crate::Lit::ByteStr(self0), crate::Lit::ByteStr(other0)) => self0 == other0,
(crate::Lit::CStr(self0), crate::Lit::CStr(other0)) => self0 == other0,
(crate::Lit::Byte(self0), crate::Lit::Byte(other0)) => self0 == other0,
(crate::Lit::Char(self0), crate::Lit::Char(other0)) => self0 == other0,
(crate::Lit::Int(self0), crate::Lit::Int(other0)) => self0 == other0,
(crate::Lit::Float(self0), crate::Lit::Float(other0)) => self0 == other0,
(crate::Lit::Bool(self0), crate::Lit::Bool(other0)) => self0 == other0,
(crate::Lit::Verbatim(self0), crate::Lit::Verbatim(other0)) => {
self0.to_string() == other0.to_string()
}
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::LitBool {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::LitBool {
fn eq(&self, other: &Self) -> bool {
self.value == other.value
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::LitByte {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::LitByteStr {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::LitCStr {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::LitChar {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::LitFloat {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::LitInt {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::LitStr {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Local {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Local {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.tracked == other.tracked
&& self.ghost == other.ghost && self.pat == other.pat
&& self.init == other.init
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::LocalInit {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::LocalInit {
fn eq(&self, other: &Self) -> bool {
self.expr == other.expr && self.diverge == other.diverge
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::LoopSpec {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::LoopSpec {
fn eq(&self, other: &Self) -> bool {
self.iter_name == other.iter_name && self.invariants == other.invariants
&& self.invariant_except_breaks == other.invariant_except_breaks
&& self.ensures == other.ensures && self.decreases == other.decreases
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Macro {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Macro {
fn eq(&self, other: &Self) -> bool {
self.path == other.path && self.delimiter == other.delimiter
&& TokenStreamHelper(&self.tokens) == TokenStreamHelper(&other.tokens)
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::MacroDelimiter {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::MacroDelimiter {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::MacroDelimiter::Paren(_), crate::MacroDelimiter::Paren(_)) => true,
(crate::MacroDelimiter::Brace(_), crate::MacroDelimiter::Brace(_)) => true,
(crate::MacroDelimiter::Bracket(_), crate::MacroDelimiter::Bracket(_)) => {
true
}
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::MatchesOpExpr {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::MatchesOpExpr {
fn eq(&self, other: &Self) -> bool {
self.op_token == other.op_token && self.rhs == other.rhs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::MatchesOpToken {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::MatchesOpToken {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::MatchesOpToken::Implies(_), crate::MatchesOpToken::Implies(_)) => {
true
}
(crate::MatchesOpToken::AndAnd(_), crate::MatchesOpToken::AndAnd(_)) => true,
(crate::MatchesOpToken::BigAnd, crate::MatchesOpToken::BigAnd) => true,
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Meta {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Meta {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::Meta::Path(self0), crate::Meta::Path(other0)) => self0 == other0,
(crate::Meta::List(self0), crate::Meta::List(other0)) => self0 == other0,
(crate::Meta::NameValue(self0), crate::Meta::NameValue(other0)) => {
self0 == other0
}
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::MetaList {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::MetaList {
fn eq(&self, other: &Self) -> bool {
self.path == other.path && self.delimiter == other.delimiter
&& TokenStreamHelper(&self.tokens) == TokenStreamHelper(&other.tokens)
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::MetaNameValue {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::MetaNameValue {
fn eq(&self, other: &Self) -> bool {
self.path == other.path && self.value == other.value
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Mode {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Mode {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::Mode::Spec(self0), crate::Mode::Spec(other0)) => self0 == other0,
(crate::Mode::Proof(self0), crate::Mode::Proof(other0)) => self0 == other0,
(crate::Mode::Exec(self0), crate::Mode::Exec(other0)) => self0 == other0,
(crate::Mode::Default, crate::Mode::Default) => true,
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ModeExec {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ModeExec {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ModeGhost {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ModeGhost {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ModeProof {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ModeProof {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ModeProofAxiom {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ModeProofAxiom {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ModeSpec {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ModeSpec {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ModeSpecChecked {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ModeSpecChecked {
fn eq(&self, other: &Self) -> bool {
self.checked == other.checked
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ModeTracked {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ModeTracked {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Open {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Open {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::OpenRestricted {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::OpenRestricted {
fn eq(&self, other: &Self) -> bool {
self.in_token == other.in_token && self.path == other.path
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::OuterMask {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::OuterMask {
fn eq(&self, other: &Self) -> bool {
self.set == other.set && self.comma_token == other.comma_token
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ParenthesizedGenericArguments {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ParenthesizedGenericArguments {
fn eq(&self, other: &Self) -> bool {
self.inputs == other.inputs && self.output == other.output
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Pat {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Pat {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::Pat::Const(self0), crate::Pat::Const(other0)) => self0 == other0,
(crate::Pat::Ident(self0), crate::Pat::Ident(other0)) => self0 == other0,
(crate::Pat::Lit(self0), crate::Pat::Lit(other0)) => self0 == other0,
(crate::Pat::Macro(self0), crate::Pat::Macro(other0)) => self0 == other0,
(crate::Pat::Or(self0), crate::Pat::Or(other0)) => self0 == other0,
(crate::Pat::Paren(self0), crate::Pat::Paren(other0)) => self0 == other0,
(crate::Pat::Path(self0), crate::Pat::Path(other0)) => self0 == other0,
(crate::Pat::Range(self0), crate::Pat::Range(other0)) => self0 == other0,
(crate::Pat::Reference(self0), crate::Pat::Reference(other0)) => {
self0 == other0
}
(crate::Pat::Rest(self0), crate::Pat::Rest(other0)) => self0 == other0,
(crate::Pat::Slice(self0), crate::Pat::Slice(other0)) => self0 == other0,
(crate::Pat::Struct(self0), crate::Pat::Struct(other0)) => self0 == other0,
(crate::Pat::Tuple(self0), crate::Pat::Tuple(other0)) => self0 == other0,
(crate::Pat::TupleStruct(self0), crate::Pat::TupleStruct(other0)) => {
self0 == other0
}
(crate::Pat::Type(self0), crate::Pat::Type(other0)) => self0 == other0,
(crate::Pat::Verbatim(self0), crate::Pat::Verbatim(other0)) => {
TokenStreamHelper(self0) == TokenStreamHelper(other0)
}
(crate::Pat::Wild(self0), crate::Pat::Wild(other0)) => self0 == other0,
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PatIdent {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PatIdent {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.by_ref == other.by_ref
&& self.mutability == other.mutability && self.ident == other.ident
&& self.subpat == other.subpat
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PatOr {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PatOr {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.leading_vert == other.leading_vert
&& self.cases == other.cases
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PatParen {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PatParen {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.pat == other.pat
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PatReference {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PatReference {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.mutability == other.mutability
&& self.pat == other.pat
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PatRest {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PatRest {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PatSlice {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PatSlice {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.elems == other.elems
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PatStruct {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PatStruct {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.qself == other.qself && self.path == other.path
&& self.fields == other.fields && self.rest == other.rest
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PatTuple {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PatTuple {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.elems == other.elems
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PatTupleStruct {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PatTupleStruct {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.qself == other.qself && self.path == other.path
&& self.elems == other.elems
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PatType {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PatType {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.pat == other.pat && self.ty == other.ty
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PatWild {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PatWild {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Path {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Path {
fn eq(&self, other: &Self) -> bool {
self.leading_colon == other.leading_colon && self.segments == other.segments
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PathArguments {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PathArguments {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::PathArguments::None, crate::PathArguments::None) => true,
(
crate::PathArguments::AngleBracketed(self0),
crate::PathArguments::AngleBracketed(other0),
) => self0 == other0,
(
crate::PathArguments::Parenthesized(self0),
crate::PathArguments::Parenthesized(other0),
) => self0 == other0,
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PathSegment {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PathSegment {
fn eq(&self, other: &Self) -> bool {
self.ident == other.ident && self.arguments == other.arguments
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PermClause {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PermClause {
fn eq(&self, other: &Self) -> bool {
self.old_perms == other.old_perms && self.arrow_token == other.arrow_token
&& self.new_perms == other.new_perms && self.comma_token == other.comma_token
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PermTuple {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PermTuple {
fn eq(&self, other: &Self) -> bool {
self.fields == other.fields
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PermTupleField {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PermTupleField {
fn eq(&self, other: &Self) -> bool {
self.ident == other.ident && self.ty == other.ty
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PointerMutability {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PointerMutability {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::PointerMutability::Const(_), crate::PointerMutability::Const(_)) => {
true
}
(crate::PointerMutability::Mut(_), crate::PointerMutability::Mut(_)) => true,
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PreciseCapture {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PreciseCapture {
fn eq(&self, other: &Self) -> bool {
self.params == other.params
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PredTypeClause {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PredTypeClause {
fn eq(&self, other: &Self) -> bool {
self.ident == other.ident
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PredicateLifetime {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PredicateLifetime {
fn eq(&self, other: &Self) -> bool {
self.lifetime == other.lifetime && self.bounds == other.bounds
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::PredicateType {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::PredicateType {
fn eq(&self, other: &Self) -> bool {
self.lifetimes == other.lifetimes && self.bounded_ty == other.bounded_ty
&& self.bounds == other.bounds
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Prover {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Prover {
fn eq(&self, other: &Self) -> bool {
self.id == other.id
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Publish {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Publish {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::Publish::Closed(self0), crate::Publish::Closed(other0)) => {
self0 == other0
}
(crate::Publish::Open(self0), crate::Publish::Open(other0)) => {
self0 == other0
}
(
crate::Publish::OpenRestricted(self0),
crate::Publish::OpenRestricted(other0),
) => self0 == other0,
(crate::Publish::Uninterp(self0), crate::Publish::Uninterp(other0)) => {
self0 == other0
}
(crate::Publish::Default, crate::Publish::Default) => true,
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::QSelf {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::QSelf {
fn eq(&self, other: &Self) -> bool {
self.ty == other.ty && self.position == other.position
&& self.as_token == other.as_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::RangeLimits {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::RangeLimits {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::RangeLimits::HalfOpen(_), crate::RangeLimits::HalfOpen(_)) => true,
(crate::RangeLimits::Closed(_), crate::RangeLimits::Closed(_)) => true,
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Receiver {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Receiver {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.reference == other.reference
&& self.mutability == other.mutability
&& self.colon_token == other.colon_token && self.ty == other.ty
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Recommends {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Recommends {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs && self.via == other.via
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Requires {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Requires {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ReturnPat {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ReturnPat {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::ReturnPat::Default, crate::ReturnPat::Default) => true,
(
crate::ReturnPat::Pat(_, _, self2, self3),
crate::ReturnPat::Pat(_, _, other2, other3),
) => self2 == other2 && self3 == other3,
(crate::ReturnPat::Type(_, self1), crate::ReturnPat::Type(_, other1)) => {
self1 == other1
}
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ReturnType {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ReturnType {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::ReturnType::Default, crate::ReturnType::Default) => true,
(
crate::ReturnType::Type(_, self1, self2, self3),
crate::ReturnType::Type(_, other1, other2, other3),
) => self1 == other1 && self2 == other2 && self3 == other3,
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::ReturnValue {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::ReturnValue {
fn eq(&self, other: &Self) -> bool {
self.pat == other.pat
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Returns {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Returns {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::RevealHide {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::RevealHide {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.reveal_token == other.reveal_token
&& self.reveal_with_fuel_token == other.reveal_with_fuel_token
&& self.hide_token == other.hide_token && self.path == other.path
&& self.fuel == other.fuel
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Signature {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Signature {
fn eq(&self, other: &Self) -> bool {
self.publish == other.publish && self.constness == other.constness
&& self.asyncness == other.asyncness && self.unsafety == other.unsafety
&& self.abi == other.abi && self.broadcast == other.broadcast
&& self.mode == other.mode && self.ident == other.ident
&& self.generics == other.generics && self.inputs == other.inputs
&& self.variadic == other.variadic && self.output == other.output
&& self.spec == other.spec
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::SignatureDecreases {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::SignatureDecreases {
fn eq(&self, other: &Self) -> bool {
self.decreases == other.decreases && self.when == other.when
&& self.via == other.via
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::SignatureInvariants {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::SignatureInvariants {
fn eq(&self, other: &Self) -> bool {
self.set == other.set && self.comma == other.comma
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::SignatureSpec {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::SignatureSpec {
fn eq(&self, other: &Self) -> bool {
self.prover == other.prover && self.atomic_spec == other.atomic_spec
&& self.requires == other.requires && self.recommends == other.recommends
&& self.ensures == other.ensures
&& self.default_ensures == other.default_ensures
&& self.returns == other.returns && self.decreases == other.decreases
&& self.invariants == other.invariants && self.unwind == other.unwind
&& self.with == other.with
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::SignatureSpecAttr {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::SignatureSpecAttr {
fn eq(&self, other: &Self) -> bool {
self.ret_pat == other.ret_pat && self.spec == other.spec
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::SignatureUnwind {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::SignatureUnwind {
fn eq(&self, other: &Self) -> bool {
self.when == other.when
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Specification {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Specification {
fn eq(&self, other: &Self) -> bool {
self.exprs == other.exprs
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::StaticMutability {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::StaticMutability {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::StaticMutability::Mut(_), crate::StaticMutability::Mut(_)) => true,
(crate::StaticMutability::None, crate::StaticMutability::None) => true,
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Stmt {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Stmt {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::Stmt::Local(self0), crate::Stmt::Local(other0)) => self0 == other0,
(crate::Stmt::Item(self0), crate::Stmt::Item(other0)) => self0 == other0,
(crate::Stmt::Expr(self0, self1), crate::Stmt::Expr(other0, other1)) => {
self0 == other0 && self1 == other1
}
(crate::Stmt::Macro(self0), crate::Stmt::Macro(other0)) => self0 == other0,
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::StmtMacro {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::StmtMacro {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.mac == other.mac
&& self.semi_token == other.semi_token
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TraitBound {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TraitBound {
fn eq(&self, other: &Self) -> bool {
self.paren_token == other.paren_token && self.modifier == other.modifier
&& self.lifetimes == other.lifetimes && self.path == other.path
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TraitBoundModifier {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TraitBoundModifier {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::TraitBoundModifier::None, crate::TraitBoundModifier::None) => true,
(
crate::TraitBoundModifier::Maybe(_),
crate::TraitBoundModifier::Maybe(_),
) => true,
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TraitItem {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TraitItem {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::TraitItem::Const(self0), crate::TraitItem::Const(other0)) => {
self0 == other0
}
(crate::TraitItem::Fn(self0), crate::TraitItem::Fn(other0)) => {
self0 == other0
}
(crate::TraitItem::Type(self0), crate::TraitItem::Type(other0)) => {
self0 == other0
}
(crate::TraitItem::Macro(self0), crate::TraitItem::Macro(other0)) => {
self0 == other0
}
(crate::TraitItem::Verbatim(self0), crate::TraitItem::Verbatim(other0)) => {
TokenStreamHelper(self0) == TokenStreamHelper(other0)
}
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TraitItemConst {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TraitItemConst {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.publish == other.publish
&& self.mode == other.mode && self.ident == other.ident
&& self.generics == other.generics && self.ty == other.ty
&& self.default == other.default
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TraitItemFn {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TraitItemFn {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.sig == other.sig
&& self.default == other.default && self.semi_token == other.semi_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TraitItemMacro {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TraitItemMacro {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.mac == other.mac
&& self.semi_token == other.semi_token
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TraitItemType {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TraitItemType {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.ident == other.ident
&& self.generics == other.generics && self.colon_token == other.colon_token
&& self.bounds == other.bounds && self.default == other.default
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Type {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Type {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::Type::Array(self0), crate::Type::Array(other0)) => self0 == other0,
(crate::Type::BareFn(self0), crate::Type::BareFn(other0)) => self0 == other0,
(crate::Type::Group(self0), crate::Type::Group(other0)) => self0 == other0,
(crate::Type::ImplTrait(self0), crate::Type::ImplTrait(other0)) => {
self0 == other0
}
(crate::Type::Infer(self0), crate::Type::Infer(other0)) => self0 == other0,
(crate::Type::Macro(self0), crate::Type::Macro(other0)) => self0 == other0,
(crate::Type::Never(self0), crate::Type::Never(other0)) => self0 == other0,
(crate::Type::Paren(self0), crate::Type::Paren(other0)) => self0 == other0,
(crate::Type::Path(self0), crate::Type::Path(other0)) => self0 == other0,
(crate::Type::Ptr(self0), crate::Type::Ptr(other0)) => self0 == other0,
(crate::Type::Reference(self0), crate::Type::Reference(other0)) => {
self0 == other0
}
(crate::Type::Slice(self0), crate::Type::Slice(other0)) => self0 == other0,
(crate::Type::TraitObject(self0), crate::Type::TraitObject(other0)) => {
self0 == other0
}
(crate::Type::Tuple(self0), crate::Type::Tuple(other0)) => self0 == other0,
(crate::Type::Verbatim(self0), crate::Type::Verbatim(other0)) => {
TokenStreamHelper(self0) == TokenStreamHelper(other0)
}
(crate::Type::FnSpec(self0), crate::Type::FnSpec(other0)) => self0 == other0,
(crate::Type::FnProof(self0), crate::Type::FnProof(other0)) => {
self0 == other0
}
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeArray {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeArray {
fn eq(&self, other: &Self) -> bool {
self.elem == other.elem && self.len == other.len
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeBareFn {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeBareFn {
fn eq(&self, other: &Self) -> bool {
self.lifetimes == other.lifetimes && self.unsafety == other.unsafety
&& self.abi == other.abi && self.inputs == other.inputs
&& self.variadic == other.variadic && self.output == other.output
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeFnProof {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeFnProof {
fn eq(&self, other: &Self) -> bool {
self.generics == other.generics && self.options == other.options
&& self.inputs == other.inputs && self.output == other.output
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeFnSpec {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeFnSpec {
fn eq(&self, other: &Self) -> bool {
self.fn_spec_token == other.fn_spec_token
&& self.spec_fn_token == other.spec_fn_token && self.inputs == other.inputs
&& self.output == other.output
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeGroup {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeGroup {
fn eq(&self, other: &Self) -> bool {
self.elem == other.elem
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeImplTrait {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeImplTrait {
fn eq(&self, other: &Self) -> bool {
self.bounds == other.bounds
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeInfer {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeInfer {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeMacro {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeMacro {
fn eq(&self, other: &Self) -> bool {
self.mac == other.mac
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeNever {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeNever {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeParam {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeParam {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.ident == other.ident
&& self.colon_token == other.colon_token && self.bounds == other.bounds
&& self.eq_token == other.eq_token && self.default == other.default
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeParamBound {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeParamBound {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(
crate::TypeParamBound::Trait(self0),
crate::TypeParamBound::Trait(other0),
) => self0 == other0,
(
crate::TypeParamBound::Lifetime(self0),
crate::TypeParamBound::Lifetime(other0),
) => self0 == other0,
#[cfg(feature = "full")]
(
crate::TypeParamBound::PreciseCapture(self0),
crate::TypeParamBound::PreciseCapture(other0),
) => self0 == other0,
(
crate::TypeParamBound::Verbatim(self0),
crate::TypeParamBound::Verbatim(other0),
) => TokenStreamHelper(self0) == TokenStreamHelper(other0),
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeParen {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeParen {
fn eq(&self, other: &Self) -> bool {
self.elem == other.elem
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypePath {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypePath {
fn eq(&self, other: &Self) -> bool {
self.qself == other.qself && self.path == other.path
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypePtr {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypePtr {
fn eq(&self, other: &Self) -> bool {
self.const_token == other.const_token && self.mutability == other.mutability
&& self.elem == other.elem
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeReference {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeReference {
fn eq(&self, other: &Self) -> bool {
self.lifetime == other.lifetime && self.mutability == other.mutability
&& self.elem == other.elem
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeSlice {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeSlice {
fn eq(&self, other: &Self) -> bool {
self.elem == other.elem
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeTraitObject {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeTraitObject {
fn eq(&self, other: &Self) -> bool {
self.dyn_token == other.dyn_token && self.bounds == other.bounds
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::TypeTuple {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::TypeTuple {
fn eq(&self, other: &Self) -> bool {
self.elems == other.elems
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::UnOp {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::UnOp {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::UnOp::Deref(_), crate::UnOp::Deref(_)) => true,
(crate::UnOp::Not(_), crate::UnOp::Not(_)) => true,
(crate::UnOp::Neg(_), crate::UnOp::Neg(_)) => true,
(crate::UnOp::Proof(_), crate::UnOp::Proof(_)) => true,
(crate::UnOp::Forall(_), crate::UnOp::Forall(_)) => true,
(crate::UnOp::Exists(_), crate::UnOp::Exists(_)) => true,
(crate::UnOp::Choose(_), crate::UnOp::Choose(_)) => true,
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Uninterp {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Uninterp {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::UseGlob {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::UseGlob {
fn eq(&self, _other: &Self) -> bool {
true
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::UseGroup {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::UseGroup {
fn eq(&self, other: &Self) -> bool {
self.items == other.items
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::UseName {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::UseName {
fn eq(&self, other: &Self) -> bool {
self.ident == other.ident
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::UsePath {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::UsePath {
fn eq(&self, other: &Self) -> bool {
self.ident == other.ident && self.tree == other.tree
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::UseRename {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::UseRename {
fn eq(&self, other: &Self) -> bool {
self.ident == other.ident && self.rename == other.rename
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::UseTree {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::UseTree {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::UseTree::Path(self0), crate::UseTree::Path(other0)) => {
self0 == other0
}
(crate::UseTree::Name(self0), crate::UseTree::Name(other0)) => {
self0 == other0
}
(crate::UseTree::Rename(self0), crate::UseTree::Rename(other0)) => {
self0 == other0
}
(crate::UseTree::Glob(self0), crate::UseTree::Glob(other0)) => {
self0 == other0
}
(crate::UseTree::Group(self0), crate::UseTree::Group(other0)) => {
self0 == other0
}
_ => false,
}
}
}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Variadic {}
#[cfg(feature = "full")]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Variadic {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.pat == other.pat && self.comma == other.comma
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Variant {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Variant {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.ident == other.ident
&& self.fields == other.fields && self.discriminant == other.discriminant
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::View {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::View {
fn eq(&self, other: &Self) -> bool {
self.attrs == other.attrs && self.expr == other.expr
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::VisRestricted {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::VisRestricted {
fn eq(&self, other: &Self) -> bool {
self.in_token == other.in_token && self.path == other.path
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::Visibility {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::Visibility {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(crate::Visibility::Public(_), crate::Visibility::Public(_)) => true,
(
crate::Visibility::Restricted(self0),
crate::Visibility::Restricted(other0),
) => self0 == other0,
(crate::Visibility::Inherited, crate::Visibility::Inherited) => true,
_ => false,
}
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::WhereClause {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::WhereClause {
fn eq(&self, other: &Self) -> bool {
self.predicates == other.predicates
}
}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::WherePredicate {}
#[cfg(any(feature = "derive", feature = "full"))]
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::WherePredicate {
fn eq(&self, other: &Self) -> bool {
match (self, other) {
(
crate::WherePredicate::Lifetime(self0),
crate::WherePredicate::Lifetime(other0),
) => self0 == other0,
(crate::WherePredicate::Type(self0), crate::WherePredicate::Type(other0)) => {
self0 == other0
}
_ => false,
}
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::WithSpecOnExpr {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::WithSpecOnExpr {
fn eq(&self, other: &Self) -> bool {
self.inputs == other.inputs && self.outputs == other.outputs
&& self.follows == other.follows && self.erased_fields == other.erased_fields
}
}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl Eq for crate::WithSpecOnFn {}
#[cfg_attr(docsrs, doc(cfg(feature = "extra-traits")))]
impl PartialEq for crate::WithSpecOnFn {
fn eq(&self, other: &Self) -> bool {
self.inputs == other.inputs && self.outputs == other.outputs
}
}