pub enum MetaSlotStorage {
Empty([u8; 39]),
FrameLink(StoredLink),
PTNode(StoredPageTablePageMeta),
}Variants§
Implementations§
Source§impl MetaSlotStorage
impl MetaSlotStorage
pub fn arrow_0(self) -> StoredPageTablePageMeta
pub fn arrow_Empty_0(self) -> [u8; 39]
pub fn arrow_FrameLink_0(self) -> StoredLink
pub fn arrow_PTNode_0(self) -> StoredPageTablePageMeta
Source§impl MetaSlotStorage
impl MetaSlotStorage
Sourcepub open spec fn get_link_spec(self) -> Option<StoredLink>
pub open spec fn get_link_spec(self) -> Option<StoredLink>
{
match self {
MetaSlotStorage::FrameLink(link) => Some(link),
_ => None,
}
}Sourcepub exec fn get_link(self) -> res : Option<StoredLink>
pub exec fn get_link(self) -> res : Option<StoredLink>
ensures
res == self.get_link_spec(),Sourcepub open spec fn get_node_spec(self) -> Option<StoredPageTablePageMeta>
pub open spec fn get_node_spec(self) -> Option<StoredPageTablePageMeta>
{
match self {
MetaSlotStorage::PTNode(node) => Some(node),
_ => None,
}
}Sourcepub exec fn get_node(self) -> res : Option<StoredPageTablePageMeta>
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.
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§impl Repr<MetaSlot> for MetaSlotStorage
impl Repr<MetaSlot> for MetaSlotStorage
Source§uninterp fn to_repr_spec(self) -> MetaSlot
uninterp fn to_repr_spec(self) -> MetaSlot
Source§uninterp fn from_repr_spec(slot: MetaSlot) -> Self
uninterp fn from_repr_spec(slot: MetaSlot) -> Self
Source§exec fn from_borrowed<'a>(slot: &'a MetaSlot) -> &'a Self
exec fn from_borrowed<'a>(slot: &'a MetaSlot) -> &'a Self
Source§proof fn from_to_repr(self)
proof fn from_to_repr(self)
Source§proof fn to_from_repr(slot: MetaSlot)
proof fn to_from_repr(slot: MetaSlot)
Source§proof fn to_repr_wf(self)
proof fn to_repr_wf(self)
Auto Trait Implementations§
impl !Freeze for MetaSlotStorage
impl !RefUnwindSafe for MetaSlotStorage
impl Send for MetaSlotStorage
impl Sync for MetaSlotStorage
impl Unpin for MetaSlotStorage
impl UnwindSafe for MetaSlotStorage
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