pub struct UncheckedIndex<S>(/* private fields */);
Expand description
Wrapper type for unchecked indexing through the regular index syntax
Note that the indexing is checked with debug assertions, but unchecked in release mode. Test your code responsibly.
Trait Implementations§
Source§impl<S: Copy> Clone for UncheckedIndex<S>
impl<S: Copy> Clone for UncheckedIndex<S>
Source§impl<T> Deref for UncheckedIndex<T>
impl<T> Deref for UncheckedIndex<T>
Source§impl<T> DerefMut for UncheckedIndex<T>
impl<T> DerefMut for UncheckedIndex<T>
Source§impl<T, I> Index<I> for UncheckedIndex<T>where
T: GetUnchecked<I>,
impl<T, I> Index<I> for UncheckedIndex<T>where
T: GetUnchecked<I>,
Source§fn index(&self, index: I) -> &Self::Output
fn index(&self, index: I) -> &Self::Output
Access the element(s) at index
, without bounds checks!
Note: Will use debug assertions to check that the index is actually valid. In release mode, debug assertions are off by default.
§Safety
The caller must ensure that index
is always in bounds of the
underlying container.
Source§type Output = <T as GetUnchecked<I>>::Output
type Output = <T as GetUnchecked<I>>::Output
The returned type after indexing.
Source§impl<T, I> IndexMut<I> for UncheckedIndex<T>where
T: GetUncheckedMut<I>,
impl<T, I> IndexMut<I> for UncheckedIndex<T>where
T: GetUncheckedMut<I>,
Source§fn index_mut(&mut self, index: I) -> &mut Self::Output
fn index_mut(&mut self, index: I) -> &mut Self::Output
Access the element(s) at index
, without bounds checks!
Note: Will use debug assertions to check that the index is actually valid. In release mode, debug assertions are off by default.
§Safety
The caller must ensure that index
is always in bounds of the
underlying container.
impl<S: Copy> Copy for UncheckedIndex<S>
Auto Trait Implementations§
impl<S> Freeze for UncheckedIndex<S>where
S: Freeze,
impl<S> RefUnwindSafe for UncheckedIndex<S>where
S: RefUnwindSafe,
impl<S> Send for UncheckedIndex<S>where
S: Send,
impl<S> Sync for UncheckedIndex<S>where
S: Sync,
impl<S> Unpin for UncheckedIndex<S>where
S: Unpin,
impl<S> UnwindSafe for UncheckedIndex<S>where
S: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)