pub struct Empty;Expand description
Marker combinator that denotes the “empty” format.
Parsing semantics: always succeeds without consuming any input, returning ().
Serialization semantics: produces an empty byte sequence.
Trait Implementations§
Source§impl AdmitsUniqueVal for Empty
impl AdmitsUniqueVal for Empty
Source§proof fn lemma_unique_consistent_val(&self, v1: Self::Val, v2: Self::Val)
proof fn lemma_unique_consistent_val(&self, v1: Self::Val, v2: Self::Val)
Source§impl Consistency for Empty
impl Consistency for Empty
Source§impl EquivSerializers for Empty
impl EquivSerializers for Empty
Source§impl EquivSerializersGeneral for Empty
impl EquivSerializersGeneral for Empty
Source§proof fn lemma_serialize_equiv(&self, v: Self::SVal, obuf: Seq<u8>)
proof fn lemma_serialize_equiv(&self, v: Self::SVal, obuf: Seq<u8>)
Source§fn equiv_general_inv(&self) -> bool
fn equiv_general_inv(&self) -> bool
Source§impl GoodSerializer for Empty
impl GoodSerializer for Empty
Source§proof fn lemma_serialize_len(&self, v: Self::SVal)
proof fn lemma_serialize_len(&self, v: Self::SVal)
Source§fn serialize_inv(&self) -> bool
fn serialize_inv(&self) -> bool
Source§impl LeafNonMalleable for Empty
impl LeafNonMalleable for Empty
Source§proof fn nonmal_leaf_inv(&self)
proof fn nonmal_leaf_inv(&self)
Source§impl MinMaxByteLen for Empty
impl MinMaxByteLen for Empty
Source§impl NoLookAhead for Empty
impl NoLookAhead for Empty
Source§impl NonMalleable for Empty
impl NonMalleable for Empty
Source§proof fn lemma_parse_non_malleable(&self, buf1: Seq<u8>, buf2: Seq<u8>)
proof fn lemma_parse_non_malleable(&self, buf1: Seq<u8>, buf2: Seq<u8>)
Source§fn nonmal_inv(&self) -> bool
fn nonmal_inv(&self) -> bool
Source§impl NonTailFmt for Empty
impl NonTailFmt for Empty
Source§proof fn lemma_serialize_dps_prepend(&self, v: Self::SValue, obuf: Seq<u8>)
proof fn lemma_serialize_dps_prepend(&self, v: Self::SValue, obuf: Seq<u8>)
Source§proof fn lemma_serialize_dps_len(&self, v: Self::SValue, obuf: Seq<u8>)
proof fn lemma_serialize_dps_len(&self, v: Self::SValue, obuf: Seq<u8>)
Source§fn serialize_dps_inv(&self) -> bool
fn serialize_dps_inv(&self) -> bool
Source§impl Productive for Empty
impl Productive for Empty
Source§open spec fn productive_inv(&self) -> bool
open spec fn productive_inv(&self) -> bool
{ false }Source§proof fn lemma_productive(&self, s: Seq<u8>)
proof fn lemma_productive(&self, s: Seq<u8>)
Source§impl SPRoundTripDps for Empty
impl SPRoundTripDps for Empty
Source§proof fn theorem_serialize_dps_parse_roundtrip(&self, v: Self::T, obuf: Seq<u8>)
proof fn theorem_serialize_dps_parse_roundtrip(&self, v: Self::T, obuf: Seq<u8>)
Source§fn unambiguous(&self) -> bool
fn unambiguous(&self) -> bool
Source§impl SafeParser for Empty
impl SafeParser for Empty
Source§impl<Output: OutputBuf> Serializer<Output, ()> for Empty
impl<Output: OutputBuf> Serializer<Output, ()> for Empty
Source§exec fn serialize_into(&self, _v: &(), _obuf: &mut Output)
exec fn serialize_into(&self, _v: &(), _obuf: &mut Output)
Source§impl SoundParser for Empty
impl SoundParser for Empty
Source§impl SpecByteLen for Empty
impl SpecByteLen for Empty
Source§impl SpecParser for Empty
impl SpecParser for Empty
Source§impl SpecSerializer for Empty
impl SpecSerializer for Empty
Source§impl SpecSerializerDps for Empty
impl SpecSerializerDps for Empty
Source§impl StaticByteLen for Empty
impl StaticByteLen for Empty
Source§open spec fn static_byte_len() -> nat
open spec fn static_byte_len() -> nat
{ ZERO_BYTE_LEN as nat }Source§proof fn lemma_static_len_matches_byte_len(&self, v: Self::T)
proof fn lemma_static_len_matches_byte_len(&self, v: Self::T)
Source§impl ValueByteLen for Empty
impl ValueByteLen for Empty
Source§open spec fn value_byte_len(_v: Self::T) -> nat
open spec fn value_byte_len(_v: Self::T) -> nat
{ ZERO_BYTE_LEN as nat }Source§proof fn lemma_value_len_matches_byte_len(&self, v: Self::T)
proof fn lemma_value_len_matches_byte_len(&self, v: Self::T)
impl Copy for Empty
Auto Trait Implementations§
impl Freeze for Empty
impl RefUnwindSafe for Empty
impl Send for Empty
impl Sync for Empty
impl Unpin for Empty
impl UnsafeUnpin for Empty
impl UnwindSafe for Empty
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, VERUS_SPEC__A> FromSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: From<T>,
impl<T, VERUS_SPEC__A> FromSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: From<T>,
fn obeys_from_spec() -> bool
fn from_spec(v: T) -> VERUS_SPEC__A
§impl<T, VERUS_SPEC__A> IntoSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: Into<T>,
impl<T, VERUS_SPEC__A> IntoSpec<T> for VERUS_SPEC__Awhere
VERUS_SPEC__A: Into<T>,
fn obeys_into_spec() -> bool
fn into_spec(self) -> T
§impl<T, U> IntoSpecImpl<U> for Twhere
U: From<T>,
impl<T, U> IntoSpecImpl<U> for Twhere
U: From<T>,
fn obeys_into_spec() -> bool
fn into_spec(self) -> U
Source§impl<C> NonAmbiguous for Cwhere
C: SPRoundTrip,
impl<C> NonAmbiguous for Cwhere
C: SPRoundTrip,
Source§open spec fn nonamb_inv(&self) -> bool
open spec fn nonamb_inv(&self) -> bool
{ self.sp_roundtrip_inv() }Source§proof fn lemma_serialize_injective(
&self,
v1: <C as Consistency>::Val,
v2: <C as Consistency>::Val,
)
proof fn lemma_serialize_injective( &self, v1: <C as Consistency>::Val, v2: <C as Consistency>::Val, )
Source§impl<C> PSRoundTrip for C
impl<C> PSRoundTrip for C
Source§open spec fn ps_roundtrip_inv(&self) -> bool
open spec fn ps_roundtrip_inv(&self) -> bool
{ self.safe_inv() && self.sound_inv() && self.nonmal_inv() && self.sp_roundtrip_inv() }Source§proof fn theorem_parse_serialize_roundtrip(&self, ibuf: Seq<u8>)
proof fn theorem_parse_serialize_roundtrip(&self, ibuf: Seq<u8>)
Source§impl<C> SPRoundTrip for C
impl<C> SPRoundTrip for C
Source§open spec fn sp_roundtrip_inv(&self) -> bool
open spec fn sp_roundtrip_inv(&self) -> bool
{ self.serialize_inv() && self.equiv_inv() && self.unambiguous() }