4 releases
0.2.0 | Mar 1, 2024 |
---|---|
0.1.2 | Jan 27, 2023 |
0.1.1 | Jan 24, 2023 |
0.1.0 | Dec 19, 2021 |
#14 in #extra
127 downloads per month
Used in 4 crates
(via ezno-parser)
9KB
137 lines
Derive partial eq extras
More customisable #[derive(PartialEq)]
Adds ability to ignore/skip fields
#[partial_eq_ignore]
use derive_partial_eq_extras::PartialEqExtras;
#[derive(PartialEqExtras)]
struct A {
x: u32,
#[partial_eq_ignore]
y: String,
}
Here the y
field is ignored when comparing A
s. e.g A { x: 4, y: "Hello".into() } == A { x: 4, y: "World".into() }
is true
#[partial_eq_ignore_types]
use derive_partial_eq_extras::PartialEqExtras;
#[derive(PartialEqExtras)]
#[partial_eq_ignore_types(u32)]
struct Numbers {
name: String,
x: u32,
y: u32,
z: u32,
}
Here the x
, y
and z
fields are ignored because they have type u32
which is marked on a top level attribute as something to ignore. This becomes a shorthand for defining #[partial_eq_ignore]
on all fields with u32
types
Dependencies
~340–790KB
~19K SLoC