Struct libafl::mutators::mopt_mutator::StdMOptMutator
source · pub struct StdMOptMutator<I, MT, S>where
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus + HasSolutions,{ /* private fields */ }
Expand description
This is the main struct of MOpt
, an AFL
mutator.
See the original MOpt
implementation in https://github.com/puppet-meteor/MOpt-AFL
Implementations§
source§impl<I, MT, S> StdMOptMutator<I, MT, S>where
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus + HasSolutions,
impl<I, MT, S> StdMOptMutator<I, MT, S>where
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus + HasSolutions,
Trait Implementations§
source§impl<I, MT, S> ComposedByMutations<I, MT, S> for StdMOptMutator<I, MT, S>where
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus + HasSolutions,
impl<I, MT, S> ComposedByMutations<I, MT, S> for StdMOptMutator<I, MT, S>where
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus + HasSolutions,
source§impl<I, MT, S> Debug for StdMOptMutator<I, MT, S>where
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus + HasSolutions,
impl<I, MT, S> Debug for StdMOptMutator<I, MT, S>where
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus + HasSolutions,
source§impl<I, MT, S> Mutator<I, S> for StdMOptMutator<I, MT, S>where
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus + HasSolutions,
impl<I, MT, S> Mutator<I, S> for StdMOptMutator<I, MT, S>where
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus + HasSolutions,
source§impl<I, MT, S> ScheduledMutator<I, MT, S> for StdMOptMutator<I, MT, S>where
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus + HasSolutions,
impl<I, MT, S> ScheduledMutator<I, MT, S> for StdMOptMutator<I, MT, S>where
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus + HasSolutions,
source§fn iterations(&self, state: &mut S, _: &I) -> u64
fn iterations(&self, state: &mut S, _: &I) -> u64
Compute the number of iterations used to apply stacked mutations
source§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
Auto Trait Implementations§
impl<I, MT, S> RefUnwindSafe for StdMOptMutator<I, MT, S>where
I: RefUnwindSafe,
MT: RefUnwindSafe,
S: RefUnwindSafe,
impl<I, MT, S> Send for StdMOptMutator<I, MT, S>where
I: Send,
MT: Send,
S: Send,
impl<I, MT, S> Sync for StdMOptMutator<I, MT, S>where
I: Sync,
MT: Sync,
S: Sync,
impl<I, MT, S> Unpin for StdMOptMutator<I, MT, S>where
I: Unpin,
MT: Unpin,
S: Unpin,
impl<I, MT, S> UnwindSafe for StdMOptMutator<I, MT, S>where
I: UnwindSafe,
MT: UnwindSafe,
S: UnwindSafe,
Blanket Implementations§
source§impl<Tail, T> Prepend<T> for Tail
impl<Tail, T> Prepend<T> for Tail
§type PreprendResult = Tail
type PreprendResult = Tail
The Resulting
TupleList
, of an Prepend::prepend()
call,
including the prepended entry.source§fn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
fn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
Prepend a value to this tuple, returning a new tuple with prepended value.