pub enum EitherOrBoth<T> {
Both(T, T),
Left(T),
Right(T),
}Available on crate feature
runner only.Expand description
Either left or right or both can be present
Most of the time, this enum is used to store (new, old) output, metrics, etc. Per convention
left is new and right is old.
Variants§
Both(T, T)
Both values (new and old) are present
Left(T)
The left or new value
Right(T)
The right or old value
Implementations§
Source§impl<T> EitherOrBoth<T>
impl<T> EitherOrBoth<T>
Sourcepub fn map<F, N>(self, f: F) -> EitherOrBoth<N>where
F: Fn(T) -> N,
pub fn map<F, N>(self, f: F) -> EitherOrBoth<N>where
F: Fn(T) -> N,
Apply the function f to the inner value of EitherOrBoth and return a new EitherOrBoth
Sourcepub fn as_ref(&self) -> EitherOrBoth<&T>
pub fn as_ref(&self) -> EitherOrBoth<&T>
Converts from &EitherOrBoth<T> to EitherOrBoth<&T>
Trait Implementations§
Source§impl<T: Clone> Clone for EitherOrBoth<T>
impl<T: Clone> Clone for EitherOrBoth<T>
Source§fn clone(&self) -> EitherOrBoth<T>
fn clone(&self) -> EitherOrBoth<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T: Debug> Debug for EitherOrBoth<T>
impl<T: Debug> Debug for EitherOrBoth<T>
Source§impl<'de, T> Deserialize<'de> for EitherOrBoth<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for EitherOrBoth<T>where
T: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T> JsonSchema for EitherOrBoth<T>where
T: JsonSchema,
impl<T> JsonSchema for EitherOrBoth<T>where
T: JsonSchema,
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl<T: PartialEq> PartialEq for EitherOrBoth<T>
impl<T: PartialEq> PartialEq for EitherOrBoth<T>
Source§impl<T> Serialize for EitherOrBoth<T>where
T: Serialize,
impl<T> Serialize for EitherOrBoth<T>where
T: Serialize,
impl<T: Eq> Eq for EitherOrBoth<T>
impl<T> StructuralPartialEq for EitherOrBoth<T>
Auto Trait Implementations§
impl<T> Freeze for EitherOrBoth<T>where
T: Freeze,
impl<T> RefUnwindSafe for EitherOrBoth<T>where
T: RefUnwindSafe,
impl<T> Send for EitherOrBoth<T>where
T: Send,
impl<T> Sync for EitherOrBoth<T>where
T: Sync,
impl<T> Unpin for EitherOrBoth<T>where
T: Unpin,
impl<T> UnwindSafe for EitherOrBoth<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more