Trait lmdb_zero::traits::LmdbRawIfUnaligned
[−]
[src]
pub unsafe trait LmdbRawIfUnaligned: Copy + Sized { fn reported_type() -> String { ... } }
Marker trait for types where Unaligned<T>
is LmdbRaw
.
This has all the implications as LmdbRaw
, except that blanket
implementations around the bare type are not available. This forces the
client code to wrap the type in Unaligned
to explicitly handle possible
misalignment.
Note that LmdbRawIfUnaligned
is not blanket-implemented for fixed-size
arrays, because currently doing so would preclude a blanke implementation
of LmdbRaw
for fixed-size arrays. Since the latter is generally more
useful and is more consistent since variable-length slices can only
usefully interact with LmdbRaw
, that approach was chosen.
All LmdbRaw
types are LmdbRawIfUnaligned
.
Provided Methods
fn reported_type() -> String
Returns the name of this type to report in error messages.
If not implemented, defaults to "?"
.
Implementors
impl<T: LmdbRaw> LmdbRawIfUnaligned for T
impl LmdbRawIfUnaligned for u16
impl LmdbRawIfUnaligned for i16
impl LmdbRawIfUnaligned for u32
impl LmdbRawIfUnaligned for i32
impl LmdbRawIfUnaligned for u64
impl LmdbRawIfUnaligned for i64
impl LmdbRawIfUnaligned for f32
impl LmdbRawIfUnaligned for f64
impl<V: LmdbRawIfUnaligned> LmdbRawIfUnaligned for Wrapping<V>