pub trait Optionable {
type Optioned: ?Sized;
}Expand description
Marker trait that associated this type with a corresponding type where potential inner sub-fields are recursively optional if possible for the given use case of the type. Implementations of the trait can decide that some fields are also non-optional for the optioned type.
In detail this means that an Option<T::Optioned> should allow for every combination
of itself being set as well as just partial subfields of itself being set except
for fields that are always required.
Hence, for types without inner structure like i32 the Optioned type will resolve to itself,
as e.g. Option<i32> already expresses the needed granularity.
Required Associated Types§
Implementations on Foreign Types§
Source§impl Optionable for Value
Available on crate feature serde_json only.
impl Optionable for Value
Available on crate feature
serde_json only.Source§impl Optionable for String
Available on crate features alloc or std only.
impl Optionable for String
Available on crate features
alloc or std only.Source§impl Optionable for Duration
Available on crate feature std only.
impl Optionable for Duration
Available on crate feature
std only.Source§impl Optionable for OsString
Available on crate feature std only.
impl Optionable for OsString
Available on crate feature
std only.Source§impl Optionable for PathBuf
Available on crate feature std only.
impl Optionable for PathBuf
Available on crate feature
std only.Source§impl Optionable for Months
Available on crate feature chrono04 only.
impl Optionable for Months
Available on crate feature
chrono04 only.Source§impl Optionable for NaiveDate
Available on crate feature chrono04 only.
impl Optionable for NaiveDate
Available on crate feature
chrono04 only.Source§impl Optionable for NaiveDateTime
Available on crate feature chrono04 only.
impl Optionable for NaiveDateTime
Available on crate feature
chrono04 only.type Optioned = NaiveDateTime
Source§impl Optionable for NaiveTime
Available on crate feature chrono04 only.
impl Optionable for NaiveTime
Available on crate feature
chrono04 only.Source§impl Optionable for TimeDelta
Available on crate feature chrono04 only.
impl Optionable for TimeDelta
Available on crate feature
chrono04 only.Source§impl Optionable for SignedDuration
Available on crate feature jiff02 only.
impl Optionable for SignedDuration
Available on crate feature
jiff02 only.type Optioned = SignedDuration
Source§impl Optionable for SpanFieldwise
Available on crate feature jiff02 only.
impl Optionable for SpanFieldwise
Available on crate feature
jiff02 only.type Optioned = SpanFieldwise
Source§impl Optionable for Timestamp
Available on crate feature jiff02 only.
impl Optionable for Timestamp
Available on crate feature
jiff02 only.Source§impl<'a, T: ?Sized + Optionable + ToOwned> Optionable for Cow<'a, T>
Available on crate features alloc or std only.
impl<'a, T: ?Sized + Optionable + ToOwned> Optionable for Cow<'a, T>
Available on crate features
alloc or std only.Source§impl<'a, T: ?Sized + Optionable> Optionable for &'a T
impl<'a, T: ?Sized + Optionable> Optionable for &'a T
type Optioned = &'a <T as Optionable>::Optioned
Source§impl<'a, T: ?Sized + Optionable> Optionable for &'a mut T
impl<'a, T: ?Sized + Optionable> Optionable for &'a mut T
type Optioned = &'a mut <T as Optionable>::Optioned
Source§impl<K, T: Optionable> Optionable for BTreeMap<K, T>
Available on crate features alloc or std only.
impl<K, T: Optionable> Optionable for BTreeMap<K, T>
Available on crate features
alloc or std only.Source§impl<K, T: Optionable, S> Optionable for HashMap<K, T, S>
Available on crate feature std only.
impl<K, T: Optionable, S> Optionable for HashMap<K, T, S>
Available on crate feature
std only.Source§impl<T0, T1> Optionable for (T0, T1)
impl<T0, T1> Optionable for (T0, T1)
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>)
Source§impl<T0, T1, T2> Optionable for (T0, T1, T2)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
impl<T0, T1, T2> Optionable for (T0, T1, T2)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3> Optionable for (T0, T1, T2, T3)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
impl<T0, T1, T2, T3> Optionable for (T0, T1, T2, T3)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4> Optionable for (T0, T1, T2, T3, T4)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
impl<T0, T1, T2, T3, T4> Optionable for (T0, T1, T2, T3, T4)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4, T5> Optionable for (T0, T1, T2, T3, T4, T5)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
impl<T0, T1, T2, T3, T4, T5> Optionable for (T0, T1, T2, T3, T4, T5)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>, Option<<T5 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4, T5, T6> Optionable for (T0, T1, T2, T3, T4, T5, T6)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
impl<T0, T1, T2, T3, T4, T5, T6> Optionable for (T0, T1, T2, T3, T4, T5, T6)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>, Option<<T5 as Optionable>::Optioned>, Option<<T6 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
impl<T0, T1, T2, T3, T4, T5, T6, T7> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>, Option<<T5 as Optionable>::Optioned>, Option<<T6 as Optionable>::Optioned>, Option<<T7 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>, Option<<T5 as Optionable>::Optioned>, Option<<T6 as Optionable>::Optioned>, Option<<T7 as Optionable>::Optioned>, Option<<T8 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>, Option<<T5 as Optionable>::Optioned>, Option<<T6 as Optionable>::Optioned>, Option<<T7 as Optionable>::Optioned>, Option<<T8 as Optionable>::Optioned>, Option<<T9 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>, Option<<T5 as Optionable>::Optioned>, Option<<T6 as Optionable>::Optioned>, Option<<T7 as Optionable>::Optioned>, Option<<T8 as Optionable>::Optioned>, Option<<T9 as Optionable>::Optioned>, Option<<T10 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
T11: Optionable,
T11::Optioned: Sized,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
T11: Optionable,
T11::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>, Option<<T5 as Optionable>::Optioned>, Option<<T6 as Optionable>::Optioned>, Option<<T7 as Optionable>::Optioned>, Option<<T8 as Optionable>::Optioned>, Option<<T9 as Optionable>::Optioned>, Option<<T10 as Optionable>::Optioned>, Option<<T11 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
T11: Optionable,
T11::Optioned: Sized,
T12: Optionable,
T12::Optioned: Sized,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
T11: Optionable,
T11::Optioned: Sized,
T12: Optionable,
T12::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>, Option<<T5 as Optionable>::Optioned>, Option<<T6 as Optionable>::Optioned>, Option<<T7 as Optionable>::Optioned>, Option<<T8 as Optionable>::Optioned>, Option<<T9 as Optionable>::Optioned>, Option<<T10 as Optionable>::Optioned>, Option<<T11 as Optionable>::Optioned>, Option<<T12 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
T11: Optionable,
T11::Optioned: Sized,
T12: Optionable,
T12::Optioned: Sized,
T13: Optionable,
T13::Optioned: Sized,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
T11: Optionable,
T11::Optioned: Sized,
T12: Optionable,
T12::Optioned: Sized,
T13: Optionable,
T13::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>, Option<<T5 as Optionable>::Optioned>, Option<<T6 as Optionable>::Optioned>, Option<<T7 as Optionable>::Optioned>, Option<<T8 as Optionable>::Optioned>, Option<<T9 as Optionable>::Optioned>, Option<<T10 as Optionable>::Optioned>, Option<<T11 as Optionable>::Optioned>, Option<<T12 as Optionable>::Optioned>, Option<<T13 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
T11: Optionable,
T11::Optioned: Sized,
T12: Optionable,
T12::Optioned: Sized,
T13: Optionable,
T13::Optioned: Sized,
T14: Optionable,
T14::Optioned: Sized,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
T11: Optionable,
T11::Optioned: Sized,
T12: Optionable,
T12::Optioned: Sized,
T13: Optionable,
T13::Optioned: Sized,
T14: Optionable,
T14::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>, Option<<T5 as Optionable>::Optioned>, Option<<T6 as Optionable>::Optioned>, Option<<T7 as Optionable>::Optioned>, Option<<T8 as Optionable>::Optioned>, Option<<T9 as Optionable>::Optioned>, Option<<T10 as Optionable>::Optioned>, Option<<T11 as Optionable>::Optioned>, Option<<T12 as Optionable>::Optioned>, Option<<T13 as Optionable>::Optioned>, Option<<T14 as Optionable>::Optioned>)
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
T11: Optionable,
T11::Optioned: Sized,
T12: Optionable,
T12::Optioned: Sized,
T13: Optionable,
T13::Optioned: Sized,
T14: Optionable,
T14::Optioned: Sized,
T15: Optionable,
T15::Optioned: Sized,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Optionable for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)where
T0: Optionable,
T0::Optioned: Sized,
T1: Optionable,
T1::Optioned: Sized,
T2: Optionable,
T2::Optioned: Sized,
T3: Optionable,
T3::Optioned: Sized,
T4: Optionable,
T4::Optioned: Sized,
T5: Optionable,
T5::Optioned: Sized,
T6: Optionable,
T6::Optioned: Sized,
T7: Optionable,
T7::Optioned: Sized,
T8: Optionable,
T8::Optioned: Sized,
T9: Optionable,
T9::Optioned: Sized,
T10: Optionable,
T10::Optioned: Sized,
T11: Optionable,
T11::Optioned: Sized,
T12: Optionable,
T12::Optioned: Sized,
T13: Optionable,
T13::Optioned: Sized,
T14: Optionable,
T14::Optioned: Sized,
T15: Optionable,
T15::Optioned: Sized,
type Optioned = (Option<<T0 as Optionable>::Optioned>, Option<<T1 as Optionable>::Optioned>, Option<<T2 as Optionable>::Optioned>, Option<<T3 as Optionable>::Optioned>, Option<<T4 as Optionable>::Optioned>, Option<<T5 as Optionable>::Optioned>, Option<<T6 as Optionable>::Optioned>, Option<<T7 as Optionable>::Optioned>, Option<<T8 as Optionable>::Optioned>, Option<<T9 as Optionable>::Optioned>, Option<<T10 as Optionable>::Optioned>, Option<<T11 as Optionable>::Optioned>, Option<<T12 as Optionable>::Optioned>, Option<<T13 as Optionable>::Optioned>, Option<<T14 as Optionable>::Optioned>, Option<<T15 as Optionable>::Optioned>)
Source§impl<T: Optionable> Optionable for Option<T>
impl<T: Optionable> Optionable for Option<T>
Source§impl<T: Optionable> Optionable for [T]
impl<T: Optionable> Optionable for [T]
type Optioned = [<T as Optionable>::Optioned]
Source§impl<T: Optionable> Optionable for Box<T>
Available on crate features alloc or std only.
impl<T: Optionable> Optionable for Box<T>
Available on crate features
alloc or std only.Source§impl<T: Optionable> Optionable for BinaryHeap<T>
Available on crate features alloc or std only.
impl<T: Optionable> Optionable for BinaryHeap<T>
Available on crate features
alloc or std only.type Optioned = BinaryHeap<<T as Optionable>::Optioned>
Source§impl<T: Optionable> Optionable for BTreeSet<T>
Available on crate features alloc or std only.
impl<T: Optionable> Optionable for BTreeSet<T>
Available on crate features
alloc or std only.Source§impl<T: Optionable> Optionable for LinkedList<T>
Available on crate features alloc or std only.
impl<T: Optionable> Optionable for LinkedList<T>
Available on crate features
alloc or std only.type Optioned = LinkedList<<T as Optionable>::Optioned>
Source§impl<T: Optionable> Optionable for VecDeque<T>
Available on crate features alloc or std only.
impl<T: Optionable> Optionable for VecDeque<T>
Available on crate features
alloc or std only.Source§impl<T: Optionable> Optionable for Rc<T>
Available on crate features alloc or std only.
impl<T: Optionable> Optionable for Rc<T>
Available on crate features
alloc or std only.Source§impl<T: Optionable> Optionable for Weak<T>
Available on crate features alloc or std only.
impl<T: Optionable> Optionable for Weak<T>
Available on crate features
alloc or std only.Source§impl<T: Optionable> Optionable for Arc<T>
Available on crate features alloc or std only.
impl<T: Optionable> Optionable for Arc<T>
Available on crate features
alloc or std only.Source§impl<T: Optionable> Optionable for Weak<T>
Available on crate features alloc or std only.
impl<T: Optionable> Optionable for Weak<T>
Available on crate features
alloc or std only.Source§impl<T: Optionable> Optionable for Vec<T>
Available on crate features alloc or std only.
impl<T: Optionable> Optionable for Vec<T>
Available on crate features
alloc or std only.Source§impl<T: Optionable> Optionable for Cell<T>
impl<T: Optionable> Optionable for Cell<T>
Source§impl<T: Optionable> Optionable for RefCell<T>
impl<T: Optionable> Optionable for RefCell<T>
Source§impl<T: Optionable> Optionable for Mutex<T>
Available on crate feature std only.
impl<T: Optionable> Optionable for Mutex<T>
Available on crate feature
std only.Source§impl<T: Optionable> Optionable for RwLock<T>
Available on crate feature std only.
impl<T: Optionable> Optionable for RwLock<T>
Available on crate feature
std only.Source§impl<T: Optionable, E> Optionable for Result<T, E>
impl<T: Optionable, E> Optionable for Result<T, E>
Source§impl<T: Optionable, S> Optionable for HashSet<T, S>
Available on crate feature std only.
impl<T: Optionable, S> Optionable for HashSet<T, S>
Available on crate feature
std only.Source§impl<T: Optionable, const N: usize> Optionable for [T; N]
impl<T: Optionable, const N: usize> Optionable for [T; N]
Source§impl<Tz: TimeZone> Optionable for DateTime<Tz>
Available on crate feature chrono04 only.
impl<Tz: TimeZone> Optionable for DateTime<Tz>
Available on crate feature
chrono04 only.