Struct libafl::mutators::mopt_mutator::StdMOptMutator [−][src]
pub struct StdMOptMutator<C, I, MT, R, S, SC> where
C: Corpus<I>,
I: Input,
MT: MutatorsTuple<I, S>,
R: Rand,
S: HasRand<R> + HasMetadata + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>, { /* fields omitted */ }
Implementations
impl<C, I, MT, R, S, SC> StdMOptMutator<C, I, MT, R, S, SC> where
C: Corpus<I>,
I: Input,
MT: MutatorsTuple<I, S>,
R: Rand,
S: HasRand<R> + HasMetadata + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
impl<C, I, MT, R, S, SC> StdMOptMutator<C, I, MT, R, S, SC> where
C: Corpus<I>,
I: Input,
MT: MutatorsTuple<I, S>,
R: Rand,
S: HasRand<R> + HasMetadata + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
Trait Implementations
impl<C, I, MT, R, S, SC> ComposedByMutations<I, MT, S> for StdMOptMutator<C, I, MT, R, S, SC> where
C: Corpus<I>,
I: Input,
MT: MutatorsTuple<I, S>,
R: Rand,
S: HasRand<R> + HasMetadata + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
impl<C, I, MT, R, S, SC> ComposedByMutations<I, MT, S> for StdMOptMutator<C, I, MT, R, S, SC> where
C: Corpus<I>,
I: Input,
MT: MutatorsTuple<I, S>,
R: Rand,
S: HasRand<R> + HasMetadata + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
impl<C, I, MT, R, S, SC> Debug for StdMOptMutator<C, I, MT, R, S, SC> where
C: Corpus<I>,
I: Input,
MT: MutatorsTuple<I, S>,
R: Rand,
S: HasRand<R> + HasMetadata + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
impl<C, I, MT, R, S, SC> Debug for StdMOptMutator<C, I, MT, R, S, SC> where
C: Corpus<I>,
I: Input,
MT: MutatorsTuple<I, S>,
R: Rand,
S: HasRand<R> + HasMetadata + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
impl<C, I, MT, R, S, SC> Mutator<I, S> for StdMOptMutator<C, I, MT, R, S, SC> where
C: Corpus<I>,
I: Input,
MT: MutatorsTuple<I, S>,
R: Rand,
S: HasRand<R> + HasMetadata + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
impl<C, I, MT, R, S, SC> Mutator<I, S> for StdMOptMutator<C, I, MT, R, S, SC> where
C: Corpus<I>,
I: Input,
MT: MutatorsTuple<I, S>,
R: Rand,
S: HasRand<R> + HasMetadata + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
impl<C, I, MT, R, S, SC> ScheduledMutator<I, MT, S> for StdMOptMutator<C, I, MT, R, S, SC> where
C: Corpus<I>,
I: Input,
MT: MutatorsTuple<I, S>,
R: Rand,
S: HasRand<R> + HasMetadata + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
impl<C, I, MT, R, S, SC> ScheduledMutator<I, MT, S> for StdMOptMutator<C, I, MT, R, S, SC> where
C: Corpus<I>,
I: Input,
MT: MutatorsTuple<I, S>,
R: Rand,
S: HasRand<R> + HasMetadata + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
Compute the number of iterations used to apply stacked mutations
fn scheduled_mutate(
&mut self,
state: &mut S,
input: &mut I,
stage_idx: i32
) -> Result<MutationResult, Error>
fn scheduled_mutate(
&mut self,
state: &mut S,
input: &mut I,
stage_idx: i32
) -> Result<MutationResult, Error>
New default implementation for mutate Implementations must forward mutate() to this method Read more
Auto Trait Implementations
impl<C, I, MT, R, S, SC> RefUnwindSafe for StdMOptMutator<C, I, MT, R, S, SC> where
C: RefUnwindSafe,
I: RefUnwindSafe,
MT: RefUnwindSafe,
R: RefUnwindSafe,
S: RefUnwindSafe,
SC: RefUnwindSafe,
impl<C, I, MT, R, S, SC> Send for StdMOptMutator<C, I, MT, R, S, SC> where
C: Send,
I: Send,
MT: Send,
R: Send,
S: Send,
SC: Send,
impl<C, I, MT, R, S, SC> Sync for StdMOptMutator<C, I, MT, R, S, SC> where
C: Sync,
I: Sync,
MT: Sync,
R: Sync,
S: Sync,
SC: Sync,
impl<C, I, MT, R, S, SC> Unpin for StdMOptMutator<C, I, MT, R, S, SC> where
C: Unpin,
I: Unpin,
MT: Unpin,
R: Unpin,
S: Unpin,
SC: Unpin,
impl<C, I, MT, R, S, SC> UnwindSafe for StdMOptMutator<C, I, MT, R, S, SC> where
C: UnwindSafe,
I: UnwindSafe,
MT: UnwindSafe,
R: UnwindSafe,
S: UnwindSafe,
SC: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
type PreprendResult = Tail
type PreprendResult = Tail
The Resulting TupleList
, of an Prepend::prepend()
call,
including the prepended entry. Read more
type Output = T
type Output = T
Should always be Self