MetaSlotStorage

Enum MetaSlotStorage 

Source
pub enum MetaSlotStorage {
    Empty([u8; 39]),
    FrameLink(StoredLink),
    PTNode(StoredPageTablePageMeta),
}

Variants§

§

Empty([u8; 39])

§

PTNode(StoredPageTablePageMeta)

Implementations§

Source§

impl MetaSlotStorage

Source§

impl MetaSlotStorage

{
    match self {
        MetaSlotStorage::FrameLink(link) => Some(link),
        _ => None,
    }
}
ensures
res == self.get_link_spec(),
Source

pub open spec fn get_node_spec(self) -> Option<StoredPageTablePageMeta>

{
    match self {
        MetaSlotStorage::PTNode(node) => Some(node),
        _ => None,
    }
}
Source

pub exec fn get_node(self) -> res : Option<StoredPageTablePageMeta>

ensures
res == self.get_node_spec(),

Trait Implementations§

Source§

impl AnyFrameMeta for MetaSlotStorage

MetaSlotStorage is an inductive tagged union of all of the frame meta types that we work with in this development. So, it should itself implement AnyFrameMeta, and it can then be used to stand in for dyn AnyFrameMeta.

Source§

uninterp fn vtable_ptr(&self) -> usize

Source§

fn on_drop(&mut self)

Source§

fn is_untyped(&self) -> bool

Source§

impl Repr<MetaSlot> for MetaSlotStorage

Source§

uninterp fn wf(slot: MetaSlot) -> bool

Source§

uninterp fn to_repr_spec(self) -> MetaSlot

Source§

exec fn to_repr(self) -> MetaSlot

Source§

uninterp fn from_repr_spec(slot: MetaSlot) -> Self

Source§

exec fn from_repr(slot: MetaSlot) -> Self

Source§

exec fn from_borrowed<'a>(slot: &'a MetaSlot) -> &'a Self

Source§

proof fn from_to_repr(self)

Source§

proof fn to_from_repr(slot: MetaSlot)

Source§

proof fn to_repr_wf(self)

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, VERUS_SPEC__A> FromSpec<T> for VERUS_SPEC__A
where VERUS_SPEC__A: From<T>,

§

fn obeys_from_spec() -> bool

§

fn from_spec(v: T) -> VERUS_SPEC__A

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, VERUS_SPEC__A> IntoSpec<T> for VERUS_SPEC__A
where VERUS_SPEC__A: Into<T>,

§

fn obeys_into_spec() -> bool

§

fn into_spec(self) -> T

§

impl<T, U> IntoSpecImpl<U> for T
where U: From<T>,

§

fn obeys_into_spec() -> bool

§

fn into_spec(self) -> U

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, VERUS_SPEC__A> TryFromSpec<T> for VERUS_SPEC__A
where VERUS_SPEC__A: TryFrom<T>,

§

fn obeys_try_from_spec() -> bool

§

fn try_from_spec( v: T, ) -> Result<VERUS_SPEC__A, <VERUS_SPEC__A as TryFrom<T>>::Error>

Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T, VERUS_SPEC__A> TryIntoSpec<T> for VERUS_SPEC__A
where VERUS_SPEC__A: TryInto<T>,

§

fn obeys_try_into_spec() -> bool

§

fn try_into_spec(self) -> Result<T, <VERUS_SPEC__A as TryInto<T>>::Error>

§

impl<T, U> TryIntoSpecImpl<U> for T
where U: TryFrom<T>,

§

fn obeys_try_into_spec() -> bool

§

fn try_into_spec(self) -> Result<U, <U as TryFrom<T>>::Error>