pub unsafe trait TrustedRandomAccess: ExactSizeIterator {
// Required method
unsafe fn get_unchecked(&mut self, index: usize) -> Self::Item;
// Provided method
fn may_have_side_effect() -> bool { ... }
}Expand description
An iterator whose items are random-accessible efficiently
§Safety
The iterator’s .len() and size_hint() must be exact.
.len() must be cheap to call.
.get_unchecked() must return distinct mutable references for distinct indices (if applicable), and must return a valid reference if index is in 0..self.len().
Required Methods§
Sourceunsafe fn get_unchecked(&mut self, index: usize) -> Self::Item
unsafe fn get_unchecked(&mut self, index: usize) -> Self::Item
Gets the element at the given index from this iterator.
§Safety
The index must not exceed the number of items produced by this
iterator to avoid undefined behaviour.
Provided Methods§
Sourcefn may_have_side_effect() -> bool
fn may_have_side_effect() -> bool
Returns true if getting an iterator element may have
side effects. Remember to take inner iterators into account.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.