pub enum PropertyContract<'tcx> {
Show 26 variants
    Align(Ty<'tcx>),
    Size(),
    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()
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, name: &str, 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