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 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

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