Function from_coroutine

fn from_coroutine<G: Coroutine<Return = ()> + Unpin>(coroutine: G) -> FromCoroutine<G>

Creates a new iterator where each iteration calls the provided coroutine.

Similar to iter::from_fn.

Examples

#![feature(coroutines)]
#![feature(iter_from_coroutine)]

let it = std::iter::from_coroutine(#[coroutine] || {
    yield 1;
    yield 2;
    yield 3;
});
let v: Vec<_> = it.collect();
assert_eq!(v, [1, 2, 3]);