resiter::oks

Trait GetOks

Source
pub trait GetOks<T, E>: Sized {
    // Required method
    fn oks(self) -> FilterMap<Self, fn(_: Result<T, E>) -> Option<T>>;
}
Expand description

Extension trait for Iterator<Item = Result<T, E>> to get all Ts

Required Methods§

Source

fn oks(self) -> FilterMap<Self, fn(_: Result<T, E>) -> Option<T>>

Iterate over every Ok while ignoring every Err

use std::str::FromStr;
use resiter::oks::GetOks;

let res:Vec<usize> = ["1", "2", "3", "a", "4", "5"]
    .iter()
    .map(|e| usize::from_str(e))
    .oks()
    .collect();

assert_eq!(
    res,
    vec![1,2,3,4,5]
);

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.

Implementors§

Source§

impl<T, E, I> GetOks<T, E> for I
where I: Iterator<Item = Result<T, E>> + Sized,