Struct libafl::stages::PushStageAdapter
source · [−]pub struct PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: Scheduler<I, S>,
EM: EventFirer<I> + EventRestarter<S> + HasEventManagerId + ProgressReporter<I>,
I: Input,
OT: ObserversTuple<I, S>,
PS: PushStage<CS, EM, I, OT, S, Z>,
S: HasClientPerfMonitor + HasCorpus<I> + HasRand + HasExecutions,
Z: ExecutionProcessor<I, OT, S> + EvaluatorObservers<I, OT, S> + HasScheduler<CS, I, S>, { /* private fields */ }
Expand description
Allows us to use a push::PushStage
as a normal Stage
Implementations
sourceimpl<CS, EM, I, OT, PS, S, Z> PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: Scheduler<I, S>,
EM: EventFirer<I> + EventRestarter<S> + HasEventManagerId + ProgressReporter<I>,
I: Input,
OT: ObserversTuple<I, S>,
PS: PushStage<CS, EM, I, OT, S, Z>,
S: HasClientPerfMonitor + HasCorpus<I> + HasRand + HasExecutions,
Z: ExecutionProcessor<I, OT, S> + EvaluatorObservers<I, OT, S> + HasScheduler<CS, I, S>,
impl<CS, EM, I, OT, PS, S, Z> PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: Scheduler<I, S>,
EM: EventFirer<I> + EventRestarter<S> + HasEventManagerId + ProgressReporter<I>,
I: Input,
OT: ObserversTuple<I, S>,
PS: PushStage<CS, EM, I, OT, S, Z>,
S: HasClientPerfMonitor + HasCorpus<I> + HasRand + HasExecutions,
Z: ExecutionProcessor<I, OT, S> + EvaluatorObservers<I, OT, S> + HasScheduler<CS, I, S>,
sourcepub fn new(push_stage: PS) -> Self
pub fn new(push_stage: PS) -> Self
Create a new PushStageAdapter
, wrapping the given PushStage
to be used as a normal Stage
Trait Implementations
sourceimpl<CS: Debug, EM: Debug, I: Debug, OT: Debug, PS: Debug, S: Debug, Z: Debug> Debug for PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: Scheduler<I, S>,
EM: EventFirer<I> + EventRestarter<S> + HasEventManagerId + ProgressReporter<I>,
I: Input,
OT: ObserversTuple<I, S>,
PS: PushStage<CS, EM, I, OT, S, Z>,
S: HasClientPerfMonitor + HasCorpus<I> + HasRand + HasExecutions,
Z: ExecutionProcessor<I, OT, S> + EvaluatorObservers<I, OT, S> + HasScheduler<CS, I, S>,
impl<CS: Debug, EM: Debug, I: Debug, OT: Debug, PS: Debug, S: Debug, Z: Debug> Debug for PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: Scheduler<I, S>,
EM: EventFirer<I> + EventRestarter<S> + HasEventManagerId + ProgressReporter<I>,
I: Input,
OT: ObserversTuple<I, S>,
PS: PushStage<CS, EM, I, OT, S, Z>,
S: HasClientPerfMonitor + HasCorpus<I> + HasRand + HasExecutions,
Z: ExecutionProcessor<I, OT, S> + EvaluatorObservers<I, OT, S> + HasScheduler<CS, I, S>,
sourceimpl<CS, E, EM, I, OT, PS, S, Z> Stage<E, EM, S, Z> for PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: Scheduler<I, S>,
E: Executor<EM, I, S, Z> + HasObservers<I, OT, S>,
EM: EventFirer<I> + EventRestarter<S> + HasEventManagerId + ProgressReporter<I>,
I: Input,
OT: ObserversTuple<I, S>,
PS: PushStage<CS, EM, I, OT, S, Z>,
S: HasClientPerfMonitor + HasCorpus<I> + HasRand + HasExecutions,
Z: ExecutesInput<I, OT, S, Z> + ExecutionProcessor<I, OT, S> + EvaluatorObservers<I, OT, S> + HasScheduler<CS, I, S>,
impl<CS, E, EM, I, OT, PS, S, Z> Stage<E, EM, S, Z> for PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: Scheduler<I, S>,
E: Executor<EM, I, S, Z> + HasObservers<I, OT, S>,
EM: EventFirer<I> + EventRestarter<S> + HasEventManagerId + ProgressReporter<I>,
I: Input,
OT: ObserversTuple<I, S>,
PS: PushStage<CS, EM, I, OT, S, Z>,
S: HasClientPerfMonitor + HasCorpus<I> + HasRand + HasExecutions,
Z: ExecutesInput<I, OT, S, Z> + ExecutionProcessor<I, OT, S> + EvaluatorObservers<I, OT, S> + HasScheduler<CS, I, S>,
Auto Trait Implementations
impl<CS, EM, I, OT, PS, S, Z> RefUnwindSafe for PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: RefUnwindSafe,
EM: RefUnwindSafe,
I: RefUnwindSafe,
OT: RefUnwindSafe,
PS: RefUnwindSafe,
S: RefUnwindSafe,
Z: RefUnwindSafe,
impl<CS, EM, I, OT, PS, S, Z> Send for PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: Send,
EM: Send,
I: Send,
OT: Send,
PS: Send,
S: Send,
Z: Send,
impl<CS, EM, I, OT, PS, S, Z> Sync for PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: Sync,
EM: Sync,
I: Sync,
OT: Sync,
PS: Sync,
S: Sync,
Z: Sync,
impl<CS, EM, I, OT, PS, S, Z> Unpin for PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: Unpin,
EM: Unpin,
I: Unpin,
OT: Unpin,
PS: Unpin,
S: Unpin,
Z: Unpin,
impl<CS, EM, I, OT, PS, S, Z> UnwindSafe for PushStageAdapter<CS, EM, I, OT, PS, S, Z> where
CS: UnwindSafe,
EM: UnwindSafe,
I: UnwindSafe,
OT: UnwindSafe,
PS: UnwindSafe,
S: UnwindSafe,
Z: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Tail, T> Prepend<T> for Tail
impl<Tail, T> Prepend<T> for Tail
type PreprendResult = Tail
type PreprendResult = Tail
The Resulting TupleList
, of an Prepend::prepend()
call,
including the prepended entry. Read more
sourcefn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
fn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
Prepend a value to this tuple, returning a new tuple with prepended value.