Struct libafl::mutators::mopt_mutator::StdMOptMutator
source · [−]pub struct StdMOptMutator<I, MT, S> where
I: Input,
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus<I> + HasSolutions<I>, { /* 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
sourceimpl<I, MT, S> StdMOptMutator<I, MT, S> where
I: Input,
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus<I> + HasSolutions<I>,
impl<I, MT, S> StdMOptMutator<I, MT, S> where
I: Input,
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus<I> + HasSolutions<I>,
Trait Implementations
sourceimpl<I, MT, S> ComposedByMutations<I, MT, S> for StdMOptMutator<I, MT, S> where
I: Input,
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus<I> + HasSolutions<I>,
impl<I, MT, S> ComposedByMutations<I, MT, S> for StdMOptMutator<I, MT, S> where
I: Input,
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus<I> + HasSolutions<I>,
sourceimpl<I, MT, S> Debug for StdMOptMutator<I, MT, S> where
I: Input,
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus<I> + HasSolutions<I>,
impl<I, MT, S> Debug for StdMOptMutator<I, MT, S> where
I: Input,
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus<I> + HasSolutions<I>,
sourceimpl<I, MT, S> Mutator<I, S> for StdMOptMutator<I, MT, S> where
I: Input,
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus<I> + HasSolutions<I>,
impl<I, MT, S> Mutator<I, S> for StdMOptMutator<I, MT, S> where
I: Input,
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus<I> + HasSolutions<I>,
sourceimpl<I, MT, S> ScheduledMutator<I, MT, S> for StdMOptMutator<I, MT, S> where
I: Input,
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus<I> + HasSolutions<I>,
impl<I, MT, S> ScheduledMutator<I, MT, S> for StdMOptMutator<I, MT, S> where
I: Input,
MT: MutatorsTuple<I, S>,
S: HasRand + HasMetadata + HasCorpus<I> + HasSolutions<I>,
sourcefn 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
sourcefn 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<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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<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. Read more
sourcefn 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.