core::iter

Function from_coroutine

source
pub fn from_coroutine<G: Coroutine<Return = ()> + Unpin>(
    coroutine: G,
) -> FromCoroutine<G>
🔬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

#![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]);