pub enum MergeStrategy {
OverrideLast,
Accumulate,
Custom,
}Expand description
How a Dispatcher<V, C, O> combines successive overrides as
it folds over a list of variants.
The default OverrideLast mirrors Nix attrset // (later
wins). AccumulateList mirrors ++ (concatenate). Custom
strategies are handled by the consumer’s O type implementing
Default + std::ops::Add (or whatever shape fits).
Variants§
OverrideLast
Last variant’s override replaces overlapping keys. Default.
Accumulate
Accumulate overrides additively — typically used when O is
a Vec<T> and each helper returns one element to append.
Custom
Caller-supplied custom merge — the consumer’s O type is
responsible for implementing the semantics (e.g. via a
Monoid impl).
Trait Implementations§
Source§impl Clone for MergeStrategy
impl Clone for MergeStrategy
Source§fn clone(&self) -> MergeStrategy
fn clone(&self) -> MergeStrategy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for MergeStrategy
Source§impl Debug for MergeStrategy
impl Debug for MergeStrategy
Source§impl Default for MergeStrategy
impl Default for MergeStrategy
Source§fn default() -> MergeStrategy
fn default() -> MergeStrategy
Returns the “default value” for a type. Read more
impl Eq for MergeStrategy
Source§impl PartialEq for MergeStrategy
impl PartialEq for MergeStrategy
impl StructuralPartialEq for MergeStrategy
Auto Trait Implementations§
impl Freeze for MergeStrategy
impl RefUnwindSafe for MergeStrategy
impl Send for MergeStrategy
impl Sync for MergeStrategy
impl Unpin for MergeStrategy
impl UnsafeUnpin for MergeStrategy
impl UnwindSafe for MergeStrategy
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.