Derive Macro ByteEq
#[derive(ByteEq)]
{
// Attributes available to this derive:
#[zerocopy]
}
Expand description
Derives optimized [PartialEq
] and [Eq
] implementations.
This derive can be applied to structs and enums implementing both
Immutable
and IntoBytes
; e.g.:
#[derive(ByteEq, Immutable, IntoBytes)]
#[repr(C)]
struct MyStruct {
...
}
#[derive(ByteEq, Immutable, IntoBytes)]
#[repr(u8)]
enum MyEnum {
...
}
The standard library’s [derive(Eq, PartialEq)
][derive@PartialEq] computes
equality by individually comparing each field. Instead, the implementation
of [PartialEq::eq
] emitted by derive(ByteHash)
converts the entirey of
self
and other
to byte slices and compares those slices for equality.
This may have performance advantages.