Expand description
Specifications for functions from Rust standard library but not specified in vstd.
These specifications are determined with careful inspection of the std library source code and documentation, and trusted as TCB.
They are subject to change if vstd covers more cases in the future.
Re-exports§
pub use cmp::*;pub use ilog2::*;pub use int_specs::*;pub use iter::*;pub use nonnull::*;pub use ptr::*;pub use range::*;pub use slice::*;pub use smallvec::*;pub use smart_ptr::*;pub use time::*;
Modules§
- bits
- Specifications for bit-related standard-library functions.
- cmp
- Specifications for the free comparison functions missing from
vstd. - convert
- deref
Deprecated - ilog2
- int_
specs - Specs for stdlib methods on integer types that aren’t covered by vstd.
- iter
- Specification for owned-array iteration not yet modeled by
vstd. - nonnull
- ptr
- range
- slice
- smallvec
- Verus specifications for the third-party
smallveccrate, trusted as TCB from inspection of thesmallvec-1.15.0source (src/lib.rs) and centralized here rather than beside an OSTD caller.cpu/set.rsis currently the only consumer (SmallVec<[u64; 2]>). - smart_
ptr - time
Structs§
- ExBit
Slice - Opaque external wrapper for the borrowed bit-slice type.
- ExBit
Vec - Opaque external wrapper for the owned bitmap type.
- ExLsb0
- Verus declaration for bitvec’s default
Lsb0bit order (a zero-sized marker).
Traits§
- ExBit
Order - Type-level declaration only; this does not assume any
BitOrdersemantics. - ExBit
Slice Index - Verus declaration for bitvec’s
BitSliceIndextrait. Only the associated types are surfaced;id-allocuses theRange<usize>instance, whoseImmutis a&BitSlice. - ExBit
Store - Type-level declaration only; this does not assume any
BitStoresemantics.
Functions§
- _verus_
external_ ⚠fn_ specification_ 1__ 60__ 32_ BitVec_ 32__ 60__ 32_ T_ 44__ 32_ O_ 32__ 62__ 32_ as_ 32_ Deref_ 32__ 62__ 32__ 58__ 58__ 32_ deref - _verus_
external_ ⚠fn_ specification_ 2__ 60__ 32_ BitVec_ 32__ 60__ 32_ T_ 44__ 32_ O_ 32__ 62__ 32_ as_ 32_ Deref Mut_ 32__ 62__ 32__ 58__ 58__ 32_ deref__ mut - _verus_
external_ ⚠fn_ specification_ 3_ BitVec_ 32__ 58__ 58__ 32__ 60__ 32_ T_ 44__ 32_ O_ 32__ 62__ 32__ 58__ 58__ 32_ with__ capacity - _verus_
external_ ⚠fn_ specification_ 4_ BitVec_ 32__ 58__ 58__ 32__ 60__ 32_ T_ 44__ 32_ O_ 32__ 62__ 32__ 58__ 58__ 32_ resize - _verus_
external_ ⚠fn_ specification_ 5_ BitVec_ 32__ 58__ 58__ 32__ 60__ 32_ T_ 44__ 32_ O_ 32__ 62__ 32__ 58__ 58__ 32_ len - _verus_
external_ ⚠fn_ specification_ 6__ 60__ 32_ BitVec_ 32__ 60__ 32_ T_ 44__ 32_ O_ 32__ 62__ 32_ as_ 32_ Index_ 32__ 60__ 32_ Idx_ 32__ 62__ 32__ 62__ 32__ 58__ 58__ 32_ index - _verus_
external_ ⚠fn_ specification_ 7_ BitSlice_ 32__ 58__ 58__ 32__ 60__ 32_ T_ 44__ 32_ O_ 32__ 62__ 32__ 58__ 58__ 32_ set - _verus_
external_ ⚠fn_ specification_ 8_ BitSlice_ 32__ 58__ 58__ 32__ 60__ 32_ T_ 44__ 32_ O_ 44__ 32__ 62__ 32__ 58__ 58__ 32_ get - _verus_
external_ ⚠fn_ specification_ 9_ BitSlice_ 32__ 58__ 58__ 32__ 60__ 32_ T_ 44__ 32_ O_ 32__ 62__ 32__ 58__ 58__ 32_ first__ zero - _verus_
external_ ⚠fn_ specification_ 59_ core_ 32__ 58__ 58__ 32_ hint_ 32__ 58__ 58__ 32_ spin__ loop - axiom_
bitslice_ get_ range - axiom_
bitvec_ index_ req - axiom_
bitvec_ index_ usize - axiom_
bitvec_ len_ bound - axiom_
range_ bitslice_ get_ model - axiom_
u8_ bitvec_ model - axiom_
u32_ bitvec_ model - axiom_
u64_ bitvec_ model - axiom_
usize_ bitslice_ index_ model - axiom_
usize_ bitvec_ model - bitslice_
get_ value - bitslice_
view - bitvec_
index_ value - bitvec_
view - group_
bitvec_ models - obeys_
bitslice_ get_ model - obeys_
bitslice_ index_ model - obeys_
bitvec_ model