pub struct MergeBuilder<T> { /* private fields */ }
Expand description
Helper for consuming items from an iterator and then creating a Merge
.
By not collecting directly into Merge
, we can avoid creating invalid
instances of it. If we had Merge::from_iter()
we would need to allow it to
accept iterators of any length (including 0). We couldn’t make it panic on
even lengths because we can get passed such iterators from e.g.
Option::from_iter()
. By collecting into MergeBuilder
instead, we move
the checking until after from_iter()
(to MergeBuilder::build()
).
Implementations§
Trait Implementations§
Source§impl<T: Clone> Clone for MergeBuilder<T>
impl<T: Clone> Clone for MergeBuilder<T>
Source§fn clone(&self) -> MergeBuilder<T>
fn clone(&self) -> MergeBuilder<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 MergeBuilder<T>
impl<T: Debug> Debug for MergeBuilder<T>
Source§impl<T> Default for MergeBuilder<T>
impl<T> Default for MergeBuilder<T>
Source§impl<T> Extend<T> for MergeBuilder<T>
impl<T> Extend<T> for MergeBuilder<T>
Source§fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)
fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)
Extends a collection with the contents of an iterator. Read more
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
🔬This is a nightly-only experimental API. (
extend_one
)Extends a collection with exactly one element.
Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
🔬This is a nightly-only experimental API. (
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
Source§impl<T> FromIterator<T> for MergeBuilder<T>
impl<T> FromIterator<T> for MergeBuilder<T>
Source§fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self
Creates a value from an iterator. Read more
Source§impl<T: PartialEq> PartialEq for MergeBuilder<T>
impl<T: PartialEq> PartialEq for MergeBuilder<T>
impl<T: Eq> Eq for MergeBuilder<T>
impl<T> StructuralPartialEq for MergeBuilder<T>
Auto Trait Implementations§
impl<T> Freeze for MergeBuilder<T>where
T: Freeze,
impl<T> RefUnwindSafe for MergeBuilder<T>where
T: RefUnwindSafe,
impl<T> Send for MergeBuilder<T>where
T: Send,
impl<T> Sync for MergeBuilder<T>where
T: Sync,
impl<T> Unpin for MergeBuilder<T>where
T: Unpin,
impl<T> UnwindSafe for MergeBuilder<T>where
T: RefUnwindSafe + 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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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