pub trait SliceIndexSpec<T>: SliceIndex<T>{
// Required methods
fn in_bounds(self, seq: T::ViewTy) -> bool;
fn has_value(self, seq: T::ViewTy, out: Self::Output) -> bool;
fn resolve_elswhere(self, old: T::ViewTy, fin: T::ViewTy) -> bool;
}Required Methods§
Sourcefn resolve_elswhere(self, old: T::ViewTy, fin: T::ViewTy) -> bool
fn resolve_elswhere(self, old: T::ViewTy, fin: T::ViewTy) -> bool
logic ⚠
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<T> SliceIndexSpec<[T]> for (Bound<usize>, Bound<usize>)
impl<T> SliceIndexSpec<[T]> for (Bound<usize>, Bound<usize>)
Source§fn in_bounds(self, seq: Seq<T>) -> bool
fn in_bounds(self, seq: Seq<T>) -> bool
logic(open)
let range = to_logic_range(self, seq.len()); pearlite! { range.start <= range.end && range.end <= seq.len() }
Source§impl<T> SliceIndexSpec<[T]> for Range<usize>
impl<T> SliceIndexSpec<[T]> for Range<usize>
Source§impl<T> SliceIndexSpec<[T]> for RangeFrom<usize>
impl<T> SliceIndexSpec<[T]> for RangeFrom<usize>
Source§impl<T> SliceIndexSpec<[T]> for RangeFull
impl<T> SliceIndexSpec<[T]> for RangeFull
Source§impl<T> SliceIndexSpec<[T]> for RangeInclusive<usize>
impl<T> SliceIndexSpec<[T]> for RangeInclusive<usize>
Source§fn in_bounds(self, seq: Seq<T>) -> bool
fn in_bounds(self, seq: Seq<T>) -> bool
logic(opaque) ⚠
ensures
self.end_log()@ < seq.len() && self.start_log()@ <= self.end_log()@+1 ==> result
ensures
self.end_log()@ >= seq.len() ==> !result