pub trait Mutator<I, S>: Named {
// Required method
fn mutate(
&mut self,
state: &mut S,
input: &mut I,
stage_idx: i32
) -> Result<MutationResult, Error>;
// Provided method
fn post_exec(
&mut self,
_state: &mut S,
_stage_idx: i32,
_corpus_idx: Option<CorpusId>
) -> Result<(), Error> { ... }
}
Expand description
A mutator takes input, and mutates it. Simple as that.