pub struct EnumMutator;Expand description
Mutator for unit-variant enums (SimpleValType and CatchKind),
which need manual impls because #[derive(Mutate)] doesn’t switch
between variants.
Trait Implementations§
Source§impl Debug for EnumMutator
impl Debug for EnumMutator
Source§impl Default for EnumMutator
impl Default for EnumMutator
Source§impl Generate<CatchKind> for EnumMutator
impl Generate<CatchKind> for EnumMutator
Source§impl Generate<SimpleValType> for EnumMutator
impl Generate<SimpleValType> for EnumMutator
Source§fn generate(&mut self, ctx: &mut Context) -> MutResult<SimpleValType>
fn generate(&mut self, ctx: &mut Context) -> MutResult<SimpleValType>
Generate a random
T value from scratch. Read moreSource§impl Mutate<CatchKind> for EnumMutator
impl Mutate<CatchKind> for EnumMutator
Source§fn mutate(
&mut self,
c: &mut Candidates<'_>,
value: &mut CatchKind,
) -> MutResult<()>
fn mutate( &mut self, c: &mut Candidates<'_>, value: &mut CatchKind, ) -> MutResult<()>
Pseudo-randomly mutate the given value. Read more
§fn mutation_count(&self, value: &T, shrink: bool) -> Option<u32>
fn mutation_count(&self, value: &T, shrink: bool) -> Option<u32>
Return the number of mutations that [
mutate][Mutate::mutate] would
register for the given value. Read more§fn or<M>(self, other: M) -> Or<Self, M>where
Self: Sized,
fn or<M>(self, other: M) -> Or<Self, M>where
Self: Sized,
Create a new mutator that performs either this mutation or the
other
mutation. Read more§fn map<F>(self, f: F) -> Map<Self, F>
fn map<F>(self, f: F) -> Map<Self, F>
Map a function over the mutations produced by this mutator. Read more
Source§impl Mutate<SimpleValType> for EnumMutator
impl Mutate<SimpleValType> for EnumMutator
Source§fn mutate(
&mut self,
c: &mut Candidates<'_>,
value: &mut SimpleValType,
) -> MutResult<()>
fn mutate( &mut self, c: &mut Candidates<'_>, value: &mut SimpleValType, ) -> MutResult<()>
Pseudo-randomly mutate the given value. Read more
§fn mutation_count(&self, value: &T, shrink: bool) -> Option<u32>
fn mutation_count(&self, value: &T, shrink: bool) -> Option<u32>
Return the number of mutations that [
mutate][Mutate::mutate] would
register for the given value. Read more§fn or<M>(self, other: M) -> Or<Self, M>where
Self: Sized,
fn or<M>(self, other: M) -> Or<Self, M>where
Self: Sized,
Create a new mutator that performs either this mutation or the
other
mutation. Read more§fn map<F>(self, f: F) -> Map<Self, F>
fn map<F>(self, f: F) -> Map<Self, F>
Map a function over the mutations produced by this mutator. Read more
Auto Trait Implementations§
impl Freeze for EnumMutator
impl RefUnwindSafe for EnumMutator
impl Send for EnumMutator
impl Sync for EnumMutator
impl Unpin for EnumMutator
impl UnsafeUnpin for EnumMutator
impl UnwindSafe for EnumMutator
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more