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
30
31
32
33
//! # generator
//!
//! Rust generator library
//!

#![cfg_attr(nightly, feature(asm))]
#![cfg_attr(nightly, feature(alloc))]
#![cfg_attr(nightly, feature(naked_functions))]
#![cfg_attr(nightly, feature(core_intrinsics))]
#![cfg_attr(nightly, feature(repr_simd))]
#![cfg_attr(test, deny(warnings))]
#![deny(missing_docs)]

#[cfg(nightly)]
extern crate alloc;
#[macro_use]
extern crate log;
#[cfg(not(nightly))]
mod alloc;

mod rt;
mod scope;
mod stack;
mod detail;
mod yield_;
mod gen_impl;
mod reg_context;

pub use rt::Error;
pub use scope::Scope;
pub use rt::{get_local_data, is_generator};
pub use gen_impl::{Generator, GeneratorImpl, Gn};
pub use yield_::{co_get_yield, co_yield_with, done, get_yield, yield_, yield_from, yield_with};