pub trait TypeGenerator: Sized + 'static {
// Required method
fn generate<D>(driver: &mut D) -> Option<Self>
where D: Driver;
// Provided methods
fn mutate<D>(&mut self, driver: &mut D) -> Option<()>
where D: Driver { ... }
fn driver_cache<D>(self, driver: &mut D)
where D: Driver { ... }
fn produce() -> TypeValueGenerator<Self> { ... }
fn gen() -> TypeValueGenerator<Self> { ... }
}Expand description
Generate a value for a given type
Required Methods§
Provided Methods§
Sourcefn mutate<D>(&mut self, driver: &mut D) -> Option<()>where
D: Driver,
fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where
D: Driver,
Mutates an existing value with the given driver
fn driver_cache<D>(self, driver: &mut D)where
D: Driver,
Sourcefn produce() -> TypeValueGenerator<Self>
fn produce() -> TypeValueGenerator<Self>
Returns a generator for a given type
fn gen() -> TypeValueGenerator<Self>
👎Deprecated: Use
produce instead (gen conflicts with edition2024)Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.