pub enum PropertyContract<'tcx> {
Show 26 variants
Align(Ty<'tcx>),
Size(Kind),
NoPadding,
NonNull,
Allocated(Ty<'tcx>, CisRangeItem),
InBound(Ty<'tcx>, CisRangeItem),
NonOverlap,
ValidNum(CisRange),
ValidString,
ValidCStr,
Init(Ty<'tcx>, CisRangeItem),
Unwrap,
Typed(Ty<'tcx>),
Owning,
Alias,
Alive,
Pinned,
NonVolatile,
Opened,
Trait,
Unreachable,
ValidPtr(Ty<'tcx>, CisRangeItem),
Deref,
Ptr2Ref,
Layout,
Unknown,
}
Variants§
Align(Ty<'tcx>)
Size(Kind)
NoPadding
NonNull
Allocated(Ty<'tcx>, CisRangeItem)
InBound(Ty<'tcx>, CisRangeItem)
NonOverlap
ValidNum(CisRange)
ValidString
ValidCStr
Init(Ty<'tcx>, CisRangeItem)
Unwrap
Typed(Ty<'tcx>)
Owning
Alias
Alive
Pinned
NonVolatile
Opened
Trait
Unreachable
ValidPtr(Ty<'tcx>, CisRangeItem)
Deref
Ptr2Ref
Layout
Unknown
Implementations§
Source§impl<'tcx> PropertyContract<'tcx>
impl<'tcx> PropertyContract<'tcx>
pub fn new( tcx: TyCtxt<'tcx>, def_id: DefId, kind: Kind, name: PropertyName, exprs: &Vec<Expr>, ) -> Self
pub fn new_patial_order(p: usize, op: BinOp) -> Self
pub fn new_obj_boundary(ty: Ty<'tcx>, len: CisRangeItem) -> Self
fn check_arg_length(expr_len: usize, required_len: usize, sp: &str) -> bool
fn parse_type( tcx: TyCtxt<'tcx>, def_id: DefId, expr: &Expr, sp: &str, ) -> Ty<'tcx>
fn parse_length( tcx: TyCtxt<'tcx>, def_id: DefId, expr: &Expr, sp: &str, ) -> CisRangeItem
Trait Implementations§
Source§impl<'tcx> Clone for PropertyContract<'tcx>
impl<'tcx> Clone for PropertyContract<'tcx>
Source§fn clone(&self) -> PropertyContract<'tcx>
fn clone(&self) -> PropertyContract<'tcx>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl<'tcx> Freeze for PropertyContract<'tcx>
impl<'tcx> !RefUnwindSafe for PropertyContract<'tcx>
impl<'tcx> Send for PropertyContract<'tcx>
impl<'tcx> Sync for PropertyContract<'tcx>
impl<'tcx> Unpin for PropertyContract<'tcx>
impl<'tcx> !UnwindSafe for PropertyContract<'tcx>
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