fuzzcheck 0.13.0

A modular, structure-aware, and feedback-driven fuzzing engine for Rust functions
Documentation
use std::borrow::Cow;

use super::map::MapMutator;
use crate::{DefaultMutator, Mutator};

impl<T> DefaultMutator for Cow<'static, T>
where
    T: DefaultMutator + Clone + 'static,
{
    type Mutator = impl Mutator<Cow<'static, T>>;

    #[coverage(off)]
    fn default_mutator() -> Self::Mutator {
        MapMutator::new(
            T::default_mutator(),
            #[coverage(off)]
            |t: &Cow<T>| Some(t.clone().into_owned()),
            #[coverage(off)]
            |t: &T| Cow::Owned(t.clone()),
            #[coverage(off)]
            |_, cplx| cplx,
        )
    }
}