2020-01-20 09:49:17 +01:00
//! Asynchronous tasks for GUI programming, inspired by Elm.
2020-11-26 07:22:03 +01:00
//!
//! 
2020-01-20 09:49:17 +01:00
#![ deny(missing_docs) ]
#![ deny(missing_debug_implementations) ]
#![ deny(unused_results) ]
2020-01-20 10:52:06 +01:00
#![ forbid(unsafe_code) ]
#![ forbid(rust_2018_idioms) ]
2020-04-04 02:25:40 +01:00
#![ cfg_attr(docsrs, feature(doc_cfg)) ]
2020-01-20 04:47:36 +01:00
pub use futures ;
2020-01-19 10:17:08 +01:00
mod command ;
2020-01-20 04:47:36 +01:00
mod runtime ;
2020-01-19 10:17:08 +01:00
2020-01-20 04:47:36 +01:00
pub mod executor ;
2020-01-19 10:17:08 +01:00
pub mod subscription ;
2020-04-30 05:51:41 +02:00
#[ cfg(all(
2020-11-25 03:06:24 +01:00
any ( feature = " tokio " , feature = " tokio_old " , feature = " async-std " ) ,
2020-04-30 05:51:41 +02:00
not ( target_arch = " wasm32 " )
) ) ]
2020-04-30 05:37:44 +02:00
#[ cfg_attr(docsrs, doc(cfg(any(feature = " tokio " , feature = " async-std " )))) ]
pub mod time ;
2020-01-19 10:17:08 +01:00
pub use command ::Command ;
2020-01-20 04:47:36 +01:00
pub use executor ::Executor ;
2020-01-19 10:17:08 +01:00
pub use runtime ::Runtime ;
pub use subscription ::Subscription ;
2020-03-26 14:53:58 +01:00
/// A boxed static future.
///
/// - On native platforms, it needs a `Send` requirement.
/// - On the Web platform, it does not need a `Send` requirement.
#[ cfg(not(target_arch = " wasm32 " )) ]
pub type BoxFuture < T > = futures ::future ::BoxFuture < 'static , T > ;
/// A boxed static future.
///
/// - On native platforms, it needs a `Send` requirement.
/// - On the Web platform, it does not need a `Send` requirement.
#[ cfg(target_arch = " wasm32 " ) ]
pub type BoxFuture < T > = futures ::future ::LocalBoxFuture < 'static , T > ;
/// A boxed static stream.
///
/// - On native platforms, it needs a `Send` requirement.
/// - On the Web platform, it does not need a `Send` requirement.
#[ cfg(not(target_arch = " wasm32 " )) ]
pub type BoxStream < T > = futures ::stream ::BoxStream < 'static , T > ;
/// A boxed static stream.
///
/// - On native platforms, it needs a `Send` requirement.
/// - On the Web platform, it does not need a `Send` requirement.
#[ cfg(target_arch = " wasm32 " ) ]
pub type BoxStream < T > = futures ::stream ::LocalBoxStream < 'static , T > ;