pub trait Feedback<I, S>: Named + Debug where
    I: Input,
    S: HasClientPerfMonitor
{ fn is_interesting<EM, OT>(
        &mut self,
        state: &mut S,
        manager: &mut EM,
        input: &I,
        observers: &OT,
        exit_kind: &ExitKind
    ) -> Result<bool, Error>
    where
        EM: EventFirer<I>,
        OT: ObserversTuple<I, S>
; fn init_state(&mut self, _state: &mut S) -> Result<(), Error> { ... } fn append_metadata(
        &mut self,
        _state: &mut S,
        _testcase: &mut Testcase<I>
    ) -> Result<(), Error> { ... } fn discard_metadata(
        &mut self,
        _state: &mut S,
        _input: &I
    ) -> Result<(), Error> { ... } }
Expand description

Feedbacks evaluate the observers. Basically, they reduce the information provided by an observer to a value, indicating the “interestingness” of the last run.

Required Methods

is_interesting return if an input is worth the addition to the corpus

Provided Methods

Initializes the feedback state. This method is called after that the State is created.

Append to the testcase the generated metadata in case of a new corpus item

Discard the stored metadata in case that the testcase is not added to the corpus

Implementations on Foreign Types

Hack to use () as empty Feedback

Implementors

Specialize for the common coverage map size, maximization of u8s