pub struct ConcolicFeedback<S> { /* private fields */ }
Expand description

The concolic feedback. It is used to attach concolic tracing metadata to the testcase. This feedback should be used in combination with another feedback as this feedback always considers testcases to be not interesting. Requires a ConcolicObserver to observe the concolic trace.

Implementations§

source§

impl<S> ConcolicFeedback<S>

source

pub fn from_observer(observer: &ConcolicObserver<'_>) -> Self

Creates a concolic feedback from an observer

Trait Implementations§

source§

impl<S: Debug> Debug for ConcolicFeedback<S>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<S> Feedback<S> for ConcolicFeedback<S>where
    S: UsesInput + Debug + HasClientPerfMonitor,

source§

fn is_interesting<EM, OT>(
    &mut self,
    _state: &mut S,
    _manager: &mut EM,
    _input: &<S as UsesInput>::Input,
    observers: &OT,
    _exit_kind: &ExitKind
) -> Result<bool, Error>where
    EM: EventFirer<State = S>,
    OT: ObserversTuple<S>,

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

fn append_metadata(
    &mut self,
    _state: &mut S,
    _testcase: &mut Testcase<<S as UsesInput>::Input>
) -> Result<(), Error>

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

fn discard_metadata(
    &mut self,
    _state: &mut S,
    _input: &<S as UsesInput>::Input
) -> Result<(), Error>

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

fn init_state(&mut self, _state: &mut S) -> Result<(), Error>

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

impl<S> Named for ConcolicFeedback<S>

source§

fn name(&self) -> &str

Provide the name of this element.

Auto Trait Implementations§

§

impl<S> RefUnwindSafe for ConcolicFeedback<S>where
    S: RefUnwindSafe,

§

impl<S> Send for ConcolicFeedback<S>where
    S: Send,

§

impl<S> Sync for ConcolicFeedback<S>where
    S: Sync,

§

impl<S> Unpin for ConcolicFeedback<S>where
    S: Unpin,

§

impl<S> UnwindSafe for ConcolicFeedback<S>where
    S: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere
    U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Tail, T> Prepend<T> for Tail

§

type PreprendResult = Tail

The Resulting TupleList, of an Prepend::prepend() call, including the prepended entry.
source§

fn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)

Prepend a value to this tuple, returning a new tuple with prepended value.
source§

impl<T, U> TryFrom<U> for Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
    U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.