State

Now that we have created all the parts of the fuzzer that make up the State, we can create one. The State trait only has one default implementation. The state tracks all the information in the fuzzing campaign including metadata like executions, the corpus, and more.

Add the use declarations we need:

#![allow(unused)]
fn main() {
use libafl::state::StdState;
}

And we'll create a StdState with our corpus, random provider, feedback, and objective:

#![allow(unused)]
fn main() {
let mut state = StdState::new(
    rand,
    corpus,
    solutions,
    &mut counters_feedback,
    &mut objective,
)
.expect("Failed to create state");
}