pub trait StaticSize {
const MAX_SIZE: usize;
const PACKED_MAX_SIZE: usize = Self::MAX_SIZE;
}Available on crate feature
static-size and (crate features alloc or derive or serde or static-size or std or zero-copy) only.Expand description
A trait that calculates the upper bound of a type’s serialized size as a const value.
Required Associated Constants§
Provided Associated Constants§
Sourceconst PACKED_MAX_SIZE: usize = Self::MAX_SIZE
const PACKED_MAX_SIZE: usize = Self::MAX_SIZE
The maximum possible serialized size in bytes when bit-packing is enabled.
For types with #[bincode(bits = N)] fields this is typically smaller than
MAX_SIZE because consecutive bit-packed fields share bytes. Types that
have no bit-packed fields default to MAX_SIZE.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize, H: StaticSize, I: StaticSize, J: StaticSize, K: StaticSize, L: StaticSize> StaticSize for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize, H: StaticSize, I: StaticSize, J: StaticSize, K: StaticSize, L: StaticSize> StaticSize for (A, B, C, D, E, F, G, H, I, J, K, L)
Source§impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize, H: StaticSize, I: StaticSize, J: StaticSize, K: StaticSize> StaticSize for (A, B, C, D, E, F, G, H, I, J, K)
impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize, H: StaticSize, I: StaticSize, J: StaticSize, K: StaticSize> StaticSize for (A, B, C, D, E, F, G, H, I, J, K)
Source§impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize, H: StaticSize, I: StaticSize, J: StaticSize> StaticSize for (A, B, C, D, E, F, G, H, I, J)
impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize, H: StaticSize, I: StaticSize, J: StaticSize> StaticSize for (A, B, C, D, E, F, G, H, I, J)
Source§impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize, H: StaticSize, I: StaticSize> StaticSize for (A, B, C, D, E, F, G, H, I)
impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize, H: StaticSize, I: StaticSize> StaticSize for (A, B, C, D, E, F, G, H, I)
Source§impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize, H: StaticSize> StaticSize for (A, B, C, D, E, F, G, H)
impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize, H: StaticSize> StaticSize for (A, B, C, D, E, F, G, H)
Source§impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize> StaticSize for (A, B, C, D, E, F, G)
impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize, G: StaticSize> StaticSize for (A, B, C, D, E, F, G)
Source§impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize> StaticSize for (A, B, C, D, E, F)
impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize, F: StaticSize> StaticSize for (A, B, C, D, E, F)
Source§impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize> StaticSize for (A, B, C, D, E)
impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize, E: StaticSize> StaticSize for (A, B, C, D, E)
Source§impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize> StaticSize for (A, B, C, D)
impl<A: StaticSize, B: StaticSize, C: StaticSize, D: StaticSize> StaticSize for (A, B, C, D)
Source§impl<A: StaticSize, B: StaticSize, C: StaticSize> StaticSize for (A, B, C)
impl<A: StaticSize, B: StaticSize, C: StaticSize> StaticSize for (A, B, C)
Source§impl<A: StaticSize, B: StaticSize> StaticSize for (A, B)
impl<A: StaticSize, B: StaticSize> StaticSize for (A, B)
Source§impl<A: StaticSize> StaticSize for (A,)
impl<A: StaticSize> StaticSize for (A,)
Source§impl<T: StaticSize, E: StaticSize> StaticSize for Result<T, E>
impl<T: StaticSize, E: StaticSize> StaticSize for Result<T, E>
Source§impl<T: StaticSize, const N: usize> StaticSize for [T; N]
impl<T: StaticSize, const N: usize> StaticSize for [T; N]
Source§impl<T: StaticSize> StaticSize for Option<T>
impl<T: StaticSize> StaticSize for Option<T>
Source§impl<T> StaticSize for PhantomData<T>
impl<T> StaticSize for PhantomData<T>
Implementors§
Source§impl<T, const CAP: usize> StaticSize for BoundedVec<T, CAP>where
T: StaticSize,
Available on crate feature alloc only.
impl<T, const CAP: usize> StaticSize for BoundedVec<T, CAP>where
T: StaticSize,
Available on crate feature
alloc only.Source§impl<const CAP: usize> StaticSize for BoundedString<CAP>
Available on crate feature alloc only.
impl<const CAP: usize> StaticSize for BoundedString<CAP>
Available on crate feature
alloc only.