Skip to main content

DefaultGenerator

Trait DefaultGenerator 

Source
pub trait DefaultGenerator: Sized {
    type Generator: Generator<Self> + 'static;

    // Required method
    fn default_generator() -> Self::Generator;
}
Expand description

Trait for types that have a default generator.

This is used by derive macros to automatically generate values for fields.

Required Associated Types§

Source

type Generator: Generator<Self> + 'static

Required Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl DefaultGenerator for ()

Source§

type Generator = Tuple0Generator

Source§

fn default_generator() -> Self::Generator

Source§

impl DefaultGenerator for AmbiguousOffset

Available on crate feature jiff only.
Source§

impl DefaultGenerator for Box<RawValue>

Available on crate features serde_json_raw_value and serde_json only.
Source§

impl DefaultGenerator for Date

Available on crate feature jiff only.
Source§

impl DefaultGenerator for DateTime

Available on crate feature jiff only.
Source§

impl DefaultGenerator for DateTime<FixedOffset>

Available on crate feature chrono only.
Source§

impl DefaultGenerator for DateTime<Utc>

Available on crate feature chrono only.
Source§

impl DefaultGenerator for Days

Available on crate feature chrono only.
Source§

impl DefaultGenerator for Duration

Source§

impl DefaultGenerator for FixedOffset

Available on crate feature chrono only.
Source§

impl DefaultGenerator for ISOWeekDate

Available on crate feature jiff only.
Source§

impl DefaultGenerator for IsoWeek

Available on crate feature chrono only.
Source§

impl DefaultGenerator for Map<String, Value>

Available on crate feature serde_json only.
Source§

impl DefaultGenerator for Month

Available on crate feature chrono only.
Source§

impl DefaultGenerator for Months

Available on crate feature chrono only.
Source§

impl DefaultGenerator for NaiveDate

Available on crate feature chrono only.
Source§

impl DefaultGenerator for NaiveDateTime

Available on crate feature chrono only.
Source§

impl DefaultGenerator for NaiveTime

Available on crate feature chrono only.
Source§

impl DefaultGenerator for NaiveWeek

Available on crate feature chrono only.
Source§

impl DefaultGenerator for Number

Available on crate feature serde_json only.
Source§

impl DefaultGenerator for Offset

Available on crate feature jiff only.
Source§

impl DefaultGenerator for PathBuf

Source§

impl DefaultGenerator for SignedDuration

Available on crate feature jiff only.
Source§

impl DefaultGenerator for Span

Available on crate feature jiff only.
Source§

impl DefaultGenerator for String

Source§

impl DefaultGenerator for Time

Available on crate feature jiff only.
Source§

impl DefaultGenerator for TimeDelta

Available on crate feature chrono only.
Source§

impl DefaultGenerator for TimeZone

Available on crate feature jiff only.
Source§

impl DefaultGenerator for Timestamp

Available on crate feature jiff only.
Source§

impl DefaultGenerator for Value

Available on crate feature serde_json only.
Source§

impl DefaultGenerator for Weekday

Available on crate feature chrono only.
Source§

impl DefaultGenerator for WeekdaySet

Available on crate feature chrono only.
Source§

impl DefaultGenerator for Zoned

Available on crate feature jiff only.
Source§

impl DefaultGenerator for bool

Source§

impl DefaultGenerator for char

Source§

impl DefaultGenerator for f32

Source§

impl DefaultGenerator for f64

Source§

impl DefaultGenerator for i8

Source§

impl DefaultGenerator for i16

Source§

impl DefaultGenerator for i32

Source§

impl DefaultGenerator for i64

Source§

impl DefaultGenerator for i128

Source§

impl DefaultGenerator for isize

Source§

impl DefaultGenerator for u8

Source§

impl DefaultGenerator for u16

Source§

impl DefaultGenerator for u32

Source§

impl DefaultGenerator for u64

Source§

impl DefaultGenerator for u128

Source§

impl DefaultGenerator for usize

Source§

impl<K, V: DefaultGenerator + 'static> DefaultGenerator for HashMap<K, V>
where K: Eq + Hash + DefaultGenerator + 'static, K::Generator: Send + Sync, V::Generator: Send + Sync,

Source§

impl<T1: DefaultGenerator + 'static, T2: DefaultGenerator + 'static, T3: DefaultGenerator + 'static, T4: DefaultGenerator + 'static, T5: DefaultGenerator + 'static, T6: DefaultGenerator + 'static, T7: DefaultGenerator + 'static, T8: DefaultGenerator + 'static, T9: DefaultGenerator + 'static, T10: DefaultGenerator + 'static, T11: DefaultGenerator + 'static, T12: DefaultGenerator + 'static> DefaultGenerator for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Source§

type Generator = Tuple12Generator<<T1 as DefaultGenerator>::Generator, <T2 as DefaultGenerator>::Generator, <T3 as DefaultGenerator>::Generator, <T4 as DefaultGenerator>::Generator, <T5 as DefaultGenerator>::Generator, <T6 as DefaultGenerator>::Generator, <T7 as DefaultGenerator>::Generator, <T8 as DefaultGenerator>::Generator, <T9 as DefaultGenerator>::Generator, <T10 as DefaultGenerator>::Generator, <T11 as DefaultGenerator>::Generator, <T12 as DefaultGenerator>::Generator, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>

Source§

fn default_generator() -> Self::Generator

Source§

impl<T1: DefaultGenerator + 'static, T2: DefaultGenerator + 'static, T3: DefaultGenerator + 'static, T4: DefaultGenerator + 'static, T5: DefaultGenerator + 'static, T6: DefaultGenerator + 'static, T7: DefaultGenerator + 'static, T8: DefaultGenerator + 'static, T9: DefaultGenerator + 'static, T10: DefaultGenerator + 'static, T11: DefaultGenerator + 'static> DefaultGenerator for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

type Generator = Tuple11Generator<<T1 as DefaultGenerator>::Generator, <T2 as DefaultGenerator>::Generator, <T3 as DefaultGenerator>::Generator, <T4 as DefaultGenerator>::Generator, <T5 as DefaultGenerator>::Generator, <T6 as DefaultGenerator>::Generator, <T7 as DefaultGenerator>::Generator, <T8 as DefaultGenerator>::Generator, <T9 as DefaultGenerator>::Generator, <T10 as DefaultGenerator>::Generator, <T11 as DefaultGenerator>::Generator, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>

Source§

fn default_generator() -> Self::Generator

Source§

impl<T1: DefaultGenerator + 'static, T2: DefaultGenerator + 'static, T3: DefaultGenerator + 'static, T4: DefaultGenerator + 'static, T5: DefaultGenerator + 'static, T6: DefaultGenerator + 'static, T7: DefaultGenerator + 'static, T8: DefaultGenerator + 'static, T9: DefaultGenerator + 'static, T10: DefaultGenerator + 'static> DefaultGenerator for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

type Generator = Tuple10Generator<<T1 as DefaultGenerator>::Generator, <T2 as DefaultGenerator>::Generator, <T3 as DefaultGenerator>::Generator, <T4 as DefaultGenerator>::Generator, <T5 as DefaultGenerator>::Generator, <T6 as DefaultGenerator>::Generator, <T7 as DefaultGenerator>::Generator, <T8 as DefaultGenerator>::Generator, <T9 as DefaultGenerator>::Generator, <T10 as DefaultGenerator>::Generator, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>

Source§

fn default_generator() -> Self::Generator

Source§

impl<T1: DefaultGenerator + 'static, T2: DefaultGenerator + 'static, T3: DefaultGenerator + 'static, T4: DefaultGenerator + 'static, T5: DefaultGenerator + 'static, T6: DefaultGenerator + 'static, T7: DefaultGenerator + 'static, T8: DefaultGenerator + 'static, T9: DefaultGenerator + 'static> DefaultGenerator for (T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

impl<T1: DefaultGenerator + 'static, T2: DefaultGenerator + 'static, T3: DefaultGenerator + 'static, T4: DefaultGenerator + 'static, T5: DefaultGenerator + 'static, T6: DefaultGenerator + 'static, T7: DefaultGenerator + 'static, T8: DefaultGenerator + 'static> DefaultGenerator for (T1, T2, T3, T4, T5, T6, T7, T8)

Source§

impl<T1: DefaultGenerator + 'static, T2: DefaultGenerator + 'static, T3: DefaultGenerator + 'static, T4: DefaultGenerator + 'static, T5: DefaultGenerator + 'static, T6: DefaultGenerator + 'static, T7: DefaultGenerator + 'static> DefaultGenerator for (T1, T2, T3, T4, T5, T6, T7)

Source§

impl<T1: DefaultGenerator + 'static, T2: DefaultGenerator + 'static, T3: DefaultGenerator + 'static, T4: DefaultGenerator + 'static, T5: DefaultGenerator + 'static, T6: DefaultGenerator + 'static> DefaultGenerator for (T1, T2, T3, T4, T5, T6)

Source§

type Generator = Tuple6Generator<<T1 as DefaultGenerator>::Generator, <T2 as DefaultGenerator>::Generator, <T3 as DefaultGenerator>::Generator, <T4 as DefaultGenerator>::Generator, <T5 as DefaultGenerator>::Generator, <T6 as DefaultGenerator>::Generator, T1, T2, T3, T4, T5, T6>

Source§

fn default_generator() -> Self::Generator

Source§

impl<T1: DefaultGenerator + 'static, T2: DefaultGenerator + 'static, T3: DefaultGenerator + 'static, T4: DefaultGenerator + 'static, T5: DefaultGenerator + 'static> DefaultGenerator for (T1, T2, T3, T4, T5)

Source§

type Generator = Tuple5Generator<<T1 as DefaultGenerator>::Generator, <T2 as DefaultGenerator>::Generator, <T3 as DefaultGenerator>::Generator, <T4 as DefaultGenerator>::Generator, <T5 as DefaultGenerator>::Generator, T1, T2, T3, T4, T5>

Source§

fn default_generator() -> Self::Generator

Source§

impl<T1: DefaultGenerator + 'static, T2: DefaultGenerator + 'static, T3: DefaultGenerator + 'static, T4: DefaultGenerator + 'static> DefaultGenerator for (T1, T2, T3, T4)

Source§

type Generator = Tuple4Generator<<T1 as DefaultGenerator>::Generator, <T2 as DefaultGenerator>::Generator, <T3 as DefaultGenerator>::Generator, <T4 as DefaultGenerator>::Generator, T1, T2, T3, T4>

Source§

fn default_generator() -> Self::Generator

Source§

impl<T1: DefaultGenerator + 'static, T2: DefaultGenerator + 'static, T3: DefaultGenerator + 'static> DefaultGenerator for (T1, T2, T3)

Source§

type Generator = Tuple3Generator<<T1 as DefaultGenerator>::Generator, <T2 as DefaultGenerator>::Generator, <T3 as DefaultGenerator>::Generator, T1, T2, T3>

Source§

fn default_generator() -> Self::Generator

Source§

impl<T1: DefaultGenerator + 'static, T2: DefaultGenerator + 'static> DefaultGenerator for (T1, T2)

Source§

type Generator = Tuple2Generator<<T1 as DefaultGenerator>::Generator, <T2 as DefaultGenerator>::Generator, T1, T2>

Source§

fn default_generator() -> Self::Generator

Source§

impl<T1: DefaultGenerator + 'static> DefaultGenerator for (T1,)
where <T1 as DefaultGenerator>::Generator: Send + Sync,

Source§

type Generator = Tuple1Generator<<T1 as DefaultGenerator>::Generator, T1>

Source§

fn default_generator() -> Self::Generator

Source§

impl<T: DefaultGenerator + 'static, const N: usize> DefaultGenerator for [T; N]
where T::Generator: Send + Sync,

Source§

impl<T: DefaultGenerator + 'static> DefaultGenerator for Option<T>
where T::Generator: Send + Sync,

Source§

impl<T: DefaultGenerator + 'static> DefaultGenerator for Vec<T>
where T::Generator: Send + Sync,

Implementors§