1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#[cfg(feature = "nightly")] #[doc(inline)] pub use std::ops::GeneratorState; #[cfg(not(feature = "nightly"))] /// Stable version of `std::generator::GeneratorState` /// /// The result of a generator resumption. /// /// This enum is returned from the `Generator::resume` method and indicates the /// possible return values of a generator. Currently this corresponds to either /// a suspension point (`Yielded`) or a termination point (`Complete`). #[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)] pub enum GeneratorState<Y, R> { /// The generator suspended with a value. /// /// This state indicates that a generator has been suspended, and typically /// corresponds to a `yield` statement. The value provided in this variant /// corresponds to the expression passed to `yield` and allows generators to /// provide a value each time they yield. Yielded(Y), /// The generator completed with a return value. /// /// This state indicates that a generator has finished execution with the /// provided value. Once a generator has returned `Complete` it is /// considered a programmer error to call `resume` again. Complete(R), }