pub trait StaticByteLen: SpecByteLen + Consistency<Val = Self::T> {
// Required methods
spec fn static_byte_len() -> nat;
broadcast proof fn lemma_static_len_matches_byte_len(&self, v: Self::T);
}Expand description
Static byte length for fixed-size combinators.
Required Methods§
Sourcespec fn static_byte_len() -> nat
spec fn static_byte_len() -> nat
The statically known serialized length.
Sourcebroadcast proof fn lemma_static_len_matches_byte_len(&self, v: Self::T)
broadcast proof fn lemma_static_len_matches_byte_len(&self, v: Self::T)
requires
self.consistent(v),ensures#[trigger] self.byte_len(v) == Self::static_byte_len(),Bridge between the dynamic byte-length view and the static one.
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<S: StaticByteLen> StaticByteLen for &S
impl<S: StaticByteLen> StaticByteLen for &S
Source§open spec fn static_byte_len() -> nat
open spec fn static_byte_len() -> nat
{ S::static_byte_len() }