Struct jj_lib::merge::MergeBuilder
source · 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 copy 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> 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<MergeBuilder<T>> for MergeBuilder<T>
impl<T: PartialEq> PartialEq<MergeBuilder<T>> for MergeBuilder<T>
source§fn eq(&self, other: &MergeBuilder<T>) -> bool
fn eq(&self, other: &MergeBuilder<T>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl<T: Eq> Eq for MergeBuilder<T>
impl<T> StructuralEq for MergeBuilder<T>
impl<T> StructuralPartialEq for MergeBuilder<T>
Auto Trait Implementations§
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: 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