pub trait MaxSizeOf: Sized {
// Required method
fn max_size_of() -> usize;
}
Expand description
A trait providing the maximum size of a primitive field in a type
maximized with core::mem::align_of
.
We use the value returned by MaxSizeOf::max_size_of
to generate padding before storing a zero-copy type. Note that this
is different from the padding used to align the same type inside
a struct, which is not under our control and is
given by core::mem::align_of
.
In this way we increase interoperability between architectures
with different alignment requirements for the same types (e.g.,
4 or 8 bytes for u64
).
By maximizing with core::mem::align_of
we ensure that
we provide sufficient alignment in case the attribute repr(align(N))
was specified.
Required Methods§
fn max_size_of() -> usize
Object Safety§
This trait is not object safe.