pub struct VShapeDef {
pub layout: VLayout,
pub def: VDef,
}Expand description
A bounded shape definition for Kani verification.
Unlike facet_core::Shape which uses static references and can be recursive,
these shapes are bounded and can implement kani::Arbitrary.
Shape definitions live in a DynShapeStore and are referenced by handle.
Fields§
§layout: VLayoutLayout of this type.
def: VDefType-specific information.
Implementations§
Source§impl VShapeDef
impl VShapeDef
Sourcepub fn struct_with_fields(
store: &VShapeStore,
fields: &[(usize, VShapeHandle)],
) -> Self
pub fn struct_with_fields( store: &VShapeStore, fields: &[(usize, VShapeHandle)], ) -> Self
Create a struct shape with the given fields.
The field_shapes parameter provides the shape handle for each field.
Use store.get_def(handle).layout to get layouts for size calculation.
Trait Implementations§
impl Copy for VShapeDef
impl Eq for VShapeDef
impl StructuralPartialEq for VShapeDef
Auto Trait Implementations§
impl Freeze for VShapeDef
impl RefUnwindSafe for VShapeDef
impl Send for VShapeDef
impl Sync for VShapeDef
impl Unpin for VShapeDef
impl UnsafeUnpin for VShapeDef
impl UnwindSafe for VShapeDef
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