Struct fuzzcheck::mutators::vector::VecMutator [−][src]
Implementations
Trait Implementations
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for InsertElement where
T: Clone + 'static,
M: Mutator<T>,
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for InsertElement where
T: Clone + 'static,
M: Mutator<T>,
type Step = InsertElementStep<M::ArbitraryStep>
type Concrete = ConcreteInsertElement<T>
type Revert = RevertInsertElement
fn default_random_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>
) -> Option<Self::RandomStep>
fn random<'a>(
mutator: &VecMutator<T, M>,
value: &Vec<T>,
cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache,
_random_step: &Self::RandomStep,
max_cplx: f64
) -> Self::Concrete
fn default_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache
) -> Option<Self::Step>
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for InsertManyElements where
T: Clone + 'static,
M: Mutator<T>,
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for InsertManyElements where
T: Clone + 'static,
M: Mutator<T>,
type RandomStep = InsertManyElementsStep
type Step = InsertManyElementsStep
type Concrete = ConcreteInsertManyElements<T>
type Revert = RevertInsertManyElements
fn default_random_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>
) -> Option<Self::RandomStep>
fn random<'a>(
mutator: &VecMutator<T, M>,
value: &Vec<T>,
cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache,
random_step: &Self::RandomStep,
max_cplx: f64
) -> Self::Concrete
fn default_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache
) -> Option<Self::Step>
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for MutateElement where
T: Clone + 'static,
M: Mutator<T>,
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for MutateElement where
T: Clone + 'static,
M: Mutator<T>,
type Step = MutateElementStep<M::MutationStep>
type Concrete = ConcreteMutateElement<'a, M::MutationStep>
type Revert = RevertMutateElement<M::UnmutateToken>
fn default_random_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>
) -> Option<Self::RandomStep>
fn random<'a>(
mutator: &VecMutator<T, M>,
value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache,
_random_step: &Self::RandomStep,
_max_cplx: f64
) -> Self::Concrete
fn default_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>,
cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache
) -> Option<Self::Step>
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for OnlyChooseLength where
T: Clone + 'static,
M: Mutator<T>,
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for OnlyChooseLength where
T: Clone + 'static,
M: Mutator<T>,
type Step = OnlyChooseLengthStep
type Concrete = ConcreteOnlyChooseLength
type Revert = RevertOnlyChooseLength<T>
fn default_random_step(
&self,
mutator: &VecMutator<T, M>,
_value: &Vec<T>
) -> Option<Self::RandomStep>
fn random<'a>(
mutator: &VecMutator<T, M>,
_value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache,
_random_step: &Self::RandomStep,
max_cplx: f64
) -> Self::Concrete
fn default_step(
&self,
mutator: &VecMutator<T, M>,
_value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache
) -> Option<Self::Step>
type RandomStep = RemoveStep
type Step = RemoveStep
type Concrete = ConcreteRemove
type Revert = RevertRemove<T>
fn default_random_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>
) -> Option<Self::RandomStep>
fn random<'a>(
_mutator: &VecMutator<T, M>,
_value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache,
random_step: &Self::RandomStep,
_max_cplx: f64
) -> Self::Concrete
fn default_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache
) -> Option<Self::Step>
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for SwapElements where
T: Clone + 'static,
M: Mutator<T>,
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for SwapElements where
T: Clone + 'static,
M: Mutator<T>,
type RandomStep = SwapElementsStep
type Step = SwapElementsStep
type Concrete = ConcreteSwapElements
type Revert = RevertSwapElements
fn default_random_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>
) -> Option<Self::RandomStep>
fn random<'a>(
_mutator: &VecMutator<T, M>,
_value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache,
random_step: &Self::RandomStep,
_max_cplx: f64
) -> Self::Concrete
fn default_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache
) -> Option<Self::Step>
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for VectorMutation where
T: Clone + 'static,
M: Mutator<T>,
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for VectorMutation where
T: Clone + 'static,
M: Mutator<T>,
type RandomStep = VectorMutationRandomStep<T, M>
type Step = VectorMutationStep<T, M>
type Concrete = ConcreteVectorMutation<'a, T, M>
type Revert = RevertVectorMutation<T, M>
fn default_random_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>
) -> Option<Self::RandomStep>
fn random<'a>(
mutator: &VecMutator<T, M>,
value: &Vec<T>,
cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache,
step: &Self::RandomStep,
max_cplx: f64
) -> Self::Concrete
fn default_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>,
cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache
) -> Option<Self::Step>
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for RemoveAndInsertElement where
T: Clone + 'static,
M: Mutator<T>,
impl<T, M> Mutation<Vec<T, Global>, VecMutator<T, M>> for RemoveAndInsertElement where
T: Clone + 'static,
M: Mutator<T>,
type Concrete = ConcreteRemoveAndInsertElement<T>
type Revert = RevertRemoveAndInsertElement<T>
fn default_random_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>
) -> Option<Self::RandomStep>
fn random<'a>(
mutator: &VecMutator<T, M>,
value: &Vec<T>,
cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache,
_random_step: &Self::RandomStep,
max_cplx: f64
) -> Self::Concrete
fn default_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache
) -> Option<Self::Step>
type RandomStep = ArbitraryStep
type Step = ArbitraryStep
type Concrete = ConcreteArbitrary<T>
type Revert = RevertArbitrary<T>
fn default_random_step(
&self,
mutator: &VecMutator<T, M>,
_value: &Vec<T>
) -> Option<Self::RandomStep>
fn random<'a>(
mutator: &VecMutator<T, M>,
_value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache,
_random_step: &Self::RandomStep,
max_cplx: f64
) -> Self::Concrete
fn default_step(
&self,
mutator: &VecMutator<T, M>,
value: &Vec<T>,
_cache: &<VecMutator<T, M> as Mutator<Vec<T>>>::Cache
) -> Option<Self::Step>
type Cache = VecMutatorCache<T, M>
type Cache = VecMutatorCache<T, M>
Accompanies each value to help compute its complexity and mutate it efficiently.
type MutationStep = VectorMutationStep<T, M>
type MutationStep = VectorMutationStep<T, M>
Contains information about what mutations have already been tried.
type ArbitraryStep = VecArbitraryStep
type ArbitraryStep = VecArbitraryStep
Contains information about what arbitrary values have already been generated.
type UnmutateToken = RevertVectorMutation<T, M>
type UnmutateToken = RevertVectorMutation<T, M>
Describes how to reverse a mutation
The first ArbitraryStep value to be passed to ordered_arbitrary
Returns the first MutationStep associated with the value
and cache. Read more
The maximum complexity that a value can possibly have. Read more
The minimum complexity that a value can possibly have. Read more
Computes the complexity of the value. Read more
fn ordered_arbitrary(
&self,
step: &mut Self::ArbitraryStep,
max_cplx: f64
) -> Option<(Vec<T>, f64)>
fn ordered_arbitrary(
&self,
step: &mut Self::ArbitraryStep,
max_cplx: f64
) -> Option<(Vec<T>, f64)>
Generates an entirely new value based on the given ArbitraryStep. Read more
Generates an entirely new value. Read more
fn ordered_mutate(
&self,
value: &mut Vec<T>,
cache: &mut Self::Cache,
step: &mut Self::MutationStep,
max_cplx: f64
) -> Option<(Self::UnmutateToken, f64)>
fn ordered_mutate(
&self,
value: &mut Vec<T>,
cache: &mut Self::Cache,
step: &mut Self::MutationStep,
max_cplx: f64
) -> Option<(Self::UnmutateToken, f64)>
Mutates a value (and optionally its cache) based on the given
MutationStep. Read more
fn random_mutate(
&self,
value: &mut Vec<T>,
cache: &mut Self::Cache,
max_cplx: f64
) -> (Self::UnmutateToken, f64)
fn random_mutate(
&self,
value: &mut Vec<T>,
cache: &mut Self::Cache,
max_cplx: f64
) -> (Self::UnmutateToken, f64)
Mutates a value (and optionally its cache). Read more
Undoes a mutation performed on the given value and cache, described by
the given UnmutateToken. Read more