pub trait ChooseRandom<T> {
// Required methods
fn shuffle_with_state(&mut self, state: &RandGenerator);
fn choose_with_state(&self, state: &RandGenerator) -> Option<&T>;
fn choose_mut_with_state(&mut self, state: &RandGenerator) -> Option<&mut T>;
fn choose_multiple_with_state(
&self,
state: &RandGenerator,
_amount: usize,
) -> SliceChooseIter<'_, T> ⓘ;
// Provided methods
fn shuffle(&mut self) { ... }
fn choose(&self) -> Option<&T> { ... }
fn choose_mut(&mut self) -> Option<&mut T> { ... }
fn choose_multiple(&self, amount: usize) -> SliceChooseIter<'_, T> ⓘ { ... }
}Required Methods§
fn shuffle_with_state(&mut self, state: &RandGenerator)
fn choose_with_state(&self, state: &RandGenerator) -> Option<&T>
fn choose_mut_with_state(&mut self, state: &RandGenerator) -> Option<&mut T>
fn choose_multiple_with_state( &self, state: &RandGenerator, _amount: usize, ) -> SliceChooseIter<'_, T> ⓘ
Provided Methods§
fn shuffle(&mut self)
fn choose(&self) -> Option<&T>
fn choose_mut(&mut self) -> Option<&mut T>
fn choose_multiple(&self, amount: usize) -> SliceChooseIter<'_, T> ⓘ
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".