pub trait PropertiesBackend {
type DataFilesAvailability: DataFilesAvailability;
// Provided methods
fn map_if_available<T, U>(
v: <Self::DataFilesAvailability as DataFilesAvailability>::Result<'_, T>,
f: impl FnOnce(T) -> U,
) -> <Self::DataFilesAvailability as DataFilesAvailability>::Result<'_, U> { ... }
fn zip_if_available<'err, T1, T2>(
v1: <Self::DataFilesAvailability as DataFilesAvailability>::Result<'err, T1>,
v2: <Self::DataFilesAvailability as DataFilesAvailability>::Result<'err, T2>,
) -> <Self::DataFilesAvailability as DataFilesAvailability>::Result<'err, (T1, T2)> { ... }
}Expand description
Common trait for type parameters of SwhGraphProperties
Required Associated Types§
Provided Methods§
Sourcefn map_if_available<T, U>(
v: <Self::DataFilesAvailability as DataFilesAvailability>::Result<'_, T>,
f: impl FnOnce(T) -> U,
) -> <Self::DataFilesAvailability as DataFilesAvailability>::Result<'_, U>
fn map_if_available<T, U>( v: <Self::DataFilesAvailability as DataFilesAvailability>::Result<'_, T>, f: impl FnOnce(T) -> U, ) -> <Self::DataFilesAvailability as DataFilesAvailability>::Result<'_, U>
Applies the given function f to the value v if the value is available
This is an alias for <Self::DataFilesAvailability as DataFilesAvailability>::map(v, f),
meaning that:
- if
Self::DataFilesAvailabilityisGuaranteedDataFiles, thenmap_if_available(v, f)is equivalent tof(v)and has typeU - if
Self::DataFilesAvailabilityisOptionalDataFiles, thenmap_if_available(v, f)is equivalent tov.map(f)and has typeResult<U, &'err UnavailableProperty>
Sourcefn zip_if_available<'err, T1, T2>(
v1: <Self::DataFilesAvailability as DataFilesAvailability>::Result<'err, T1>,
v2: <Self::DataFilesAvailability as DataFilesAvailability>::Result<'err, T2>,
) -> <Self::DataFilesAvailability as DataFilesAvailability>::Result<'err, (T1, T2)>
fn zip_if_available<'err, T1, T2>( v1: <Self::DataFilesAvailability as DataFilesAvailability>::Result<'err, T1>, v2: <Self::DataFilesAvailability as DataFilesAvailability>::Result<'err, T2>, ) -> <Self::DataFilesAvailability as DataFilesAvailability>::Result<'err, (T1, T2)>
Returns (v1, v2) if both are available, or an error otherwise
This is an alias for <Self::DataFilesAvailability as DataFilesAvailability>::zip(v, f),
meaning that:
- if
Self::DataFilesAvailabilityisGuaranteedDataFiles, thenzip_if_available(v1, v2)is equivalent to(v1, v2)and has type(T1, T2) - if
Self::DataFilesAvailabilityisOptionalDataFiles, thenzip_if_available(v1, v2)is equivalent tov1.and_then(|v1| v2.map(|v2| (v1, v2)))and has typeResult<(T1, T2), &'err UnavailableProperty>
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.