pub trait FromNonEmptyIterator<T>: Sized {
// Required method
fn from_nonempty_iter<I>(iter: I) -> Self
where I: IntoNonEmptyIterator<Item = T>;
}Expand description
Conversion from a NonEmptyIterator.
Required Methods§
Sourcefn from_nonempty_iter<I>(iter: I) -> Selfwhere
I: IntoNonEmptyIterator<Item = T>,
fn from_nonempty_iter<I>(iter: I) -> Selfwhere
I: IntoNonEmptyIterator<Item = T>,
Creates a value from a NonEmptyIterator.
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.
Implementations on Foreign Types§
Source§impl<A, E, V> FromNonEmptyIterator<Result<A, E>> for Result<V, E>where
V: FromNonEmptyIterator<A>,
impl<A, E, V> FromNonEmptyIterator<Result<A, E>> for Result<V, E>where
V: FromNonEmptyIterator<A>,
fn from_nonempty_iter<I>(iter: I) -> Result<V, E>where
I: IntoNonEmptyIterator<Item = Result<A, E>>,
Source§impl<K, V, S> FromNonEmptyIterator<(K, V)> for HashMap<K, V, S>
impl<K, V, S> FromNonEmptyIterator<(K, V)> for HashMap<K, V, S>
fn from_nonempty_iter<I>(iter: I) -> Selfwhere
I: IntoNonEmptyIterator<Item = (K, V)>,
Source§impl<T> FromNonEmptyIterator<T> for Vec<T>
impl<T> FromNonEmptyIterator<T> for Vec<T>
fn from_nonempty_iter<I>(iter: I) -> Selfwhere
I: IntoNonEmptyIterator<Item = T>,
Source§impl<T, S> FromNonEmptyIterator<T> for HashSet<T, S>
impl<T, S> FromNonEmptyIterator<T> for HashSet<T, S>
fn from_nonempty_iter<I>(iter: I) -> Selfwhere
I: IntoNonEmptyIterator<Item = T>,
Implementors§
impl<K, V, S> FromNonEmptyIterator<(K, V)> for NEIndexMap<K, V, S>
use nonempty_collections::*;
let v = nev![('a', 1), ('b', 2), ('c', 3), ('a', 4)];
let m0 = v.into_nonempty_iter().collect::<NEIndexMap<_, _>>();
let m1 = ne_indexmap! {'a' => 4, 'b' => 2, 'c' => 3};
assert_eq!(m0, m1);impl<K, V, S> FromNonEmptyIterator<(K, V)> for NEMap<K, V, S>
use nonempty_collections::*;
let v = nev![('a', 1), ('b', 2), ('c', 3), ('a', 4)];
let m0: NEMap<_, _> = v.into_nonempty_iter().collect();
let m1: NEMap<_, _> = nem!['a' => 4, 'b' => 2, 'c' => 3];
assert_eq!(m0, m1);impl<T> FromNonEmptyIterator<T> for NEVec<T>
use nonempty_collections::*;
let v0 = nev![1, 2, 3];
let v1: NEVec<_> = v0.nonempty_iter().cloned().collect();
assert_eq!(v0, v1);impl<T, S> FromNonEmptyIterator<T> for NESet<T, S>
use nonempty_collections::*;
let s0 = nes![1, 2, 3];
let s1: NESet<_> = s0.nonempty_iter().cloned().collect();
assert_eq!(s0, s1);