pub trait OptionZip {
// Provided methods
fn zip<T1, T2>(v1: Option<T1>, v2: Option<T2>) -> Option<(T1, T2)> { ... }
fn zip3<T1, T2, T3>(
v1: Option<T1>,
v2: Option<T2>,
v3: Option<T3>,
) -> Option<(T1, T2, T3)> { ... }
fn zip4<T1, T2, T3, T4>(
v1: Option<T1>,
v2: Option<T2>,
v3: Option<T3>,
v4: Option<T4>,
) -> Option<(T1, T2, T3, T4)> { ... }
fn zip5<T1, T2, T3, T4, T5>(
v1: Option<T1>,
v2: Option<T2>,
v3: Option<T3>,
v4: Option<T4>,
v5: Option<T5>,
) -> Option<(T1, T2, T3, T4, T5)> { ... }
}
Expand description
Trait for using zip function on Option type, import
the trait and call it using Option::zip
or any variant with more arguments
Provided Methods§
fn zip<T1, T2>(v1: Option<T1>, v2: Option<T2>) -> Option<(T1, T2)>
fn zip3<T1, T2, T3>( v1: Option<T1>, v2: Option<T2>, v3: Option<T3>, ) -> Option<(T1, T2, T3)>
fn zip4<T1, T2, T3, T4>( v1: Option<T1>, v2: Option<T2>, v3: Option<T3>, v4: Option<T4>, ) -> Option<(T1, T2, T3, T4)>
fn zip5<T1, T2, T3, T4, T5>( v1: Option<T1>, v2: Option<T2>, v3: Option<T3>, v4: Option<T4>, v5: Option<T5>, ) -> Option<(T1, T2, T3, T4, T5)>
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.