unchecked_index

Struct UncheckedIndex

Source
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>

Source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T> Deref for UncheckedIndex<T>

Source§

type Target = T

The resulting type after dereferencing.
Source§

fn deref(&self) -> &T

Dereferences the value.
Source§

impl<T> DerefMut for UncheckedIndex<T>

Source§

fn deref_mut(&mut self) -> &mut T

Mutably dereferences the value.
Source§

impl<T, I> Index<I> for UncheckedIndex<T>
where T: GetUnchecked<I>,

Source§

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

The returned type after indexing.
Source§

impl<T, I> IndexMut<I> for UncheckedIndex<T>
where T: GetUncheckedMut<I>,

Source§

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.

Source§

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.