Function std::iter::from_coroutine

source ·
pub fn from_coroutine<G>(coroutine: G) -> FromCoroutine<G>where
    G: Coroutine<Return = ()> + Unpin,
🔬This is a nightly-only experimental API. (iter_from_coroutine #43122)
Expand description

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

Similar to iter::from_fn.

§Examples

#![cfg_attr(bootstrap, feature(generators))]
#![cfg_attr(not(bootstrap), feature(coroutines))]
#![feature(iter_from_coroutine)]

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