Struct puffin::fuzzer::mutations::ReplaceMatchMutator
source · pub struct ReplaceMatchMutator<S, PT: ProtocolTypes>where
S: HasRand,{
constraints: TermConstraints,
signature: &'static Signature<PT>,
phantom_s: PhantomData<S>,
}
Expand description
REPLACE-MATCH: Replaces a function symbol with a different one (such that types match).
An example would be to replace a constant with another constant or the binary function fn_add with fn_sub. It can also replace any variable with a constant.
Fields§
§constraints: TermConstraints
§signature: &'static Signature<PT>
§phantom_s: PhantomData<S>
Implementations§
source§impl<S, PT: ProtocolTypes> ReplaceMatchMutator<S, PT>where
S: HasRand,
impl<S, PT: ProtocolTypes> ReplaceMatchMutator<S, PT>where
S: HasRand,
pub fn new( constraints: TermConstraints, signature: &'static Signature<PT>, ) -> Self
Trait Implementations§
source§impl<S, PT: ProtocolTypes> Mutator<Trace<PT>, S> for ReplaceMatchMutator<S, PT>where
S: HasRand,
impl<S, PT: ProtocolTypes> Mutator<Trace<PT>, S> for ReplaceMatchMutator<S, PT>where
S: HasRand,
source§impl<S, PT: ProtocolTypes> Named for ReplaceMatchMutator<S, PT>where
S: HasRand,
impl<S, PT: ProtocolTypes> Named for ReplaceMatchMutator<S, PT>where
S: HasRand,
Auto Trait Implementations§
impl<S, PT> Freeze for ReplaceMatchMutator<S, PT>
impl<S, PT> !RefUnwindSafe for ReplaceMatchMutator<S, PT>
impl<S, PT> Send for ReplaceMatchMutator<S, PT>
impl<S, PT> Sync for ReplaceMatchMutator<S, PT>
impl<S, PT> Unpin for ReplaceMatchMutator<S, PT>where
S: Unpin,
impl<S, PT> !UnwindSafe for ReplaceMatchMutator<S, PT>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<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.