pub trait HashedTypeDef<REF = ()> {
const TYPE_HASH_NATIVE: u128;
const TYPE_HASH_LE: u128 = _;
const TYPE_HASH_BE: u128 = _;
const UUID: Uuid = _;
}
Expand description
Type hash code definition; derive macro for this trait is based on 128bit FNV-1a computed from the type definition
REF = ()
: type parameterREF
offers more flexibility to rule Only traits defined in the current crate can be implemented for arbitrary types- If
REF
is defined in another crate, thenHashedTypeDef<REF>
can be implemented for arbitrary types in that other crate - This is a stop-gap that should be avoided: the default definition with
REF = ()
should be used. - Derivation macro #[derive(HashedTypeDef)] only implements default definition with
REF = ()
- Note: the
silx-core
crate requires implementations with the default definition
- If
Required Associated Constants§
Sourceconst TYPE_HASH_NATIVE: u128
const TYPE_HASH_NATIVE: u128
native hash computation
Provided Associated Constants§
Sourceconst TYPE_HASH_LE: u128 = _
const TYPE_HASH_LE: u128 = _
hash encoded to little endianess
Sourceconst TYPE_HASH_BE: u128 = _
const TYPE_HASH_BE: u128 = _
hash encoded to big endianess
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.