Crates.io | derive-partial-eq-extras |
lib.rs | derive-partial-eq-extras |
version | 0.2.0 |
source | src |
created_at | 2021-12-19 22:52:33.006031 |
updated_at | 2024-03-01 09:35:06.841653 |
description | More customisable #[derive(PartialEq)] |
homepage | |
repository | https://github.com/kaleidawave/derive-partial-eq-extras |
max_upload_size | |
id | 500527 |
size | 13,216 |
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