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(
2021-01-13 01:48:35 +01:00
any (
feature = " tokio " ,
feature = " tokio_old " ,
feature = " async-std " ,
feature = " smol "
) ,
2020-04-30 05:51:41 +02:00
not ( target_arch = " wasm32 " )
) ) ]
2021-01-13 01:48:35 +01:00
#[ cfg_attr(
docsrs ,
doc ( cfg ( any (
feature = " tokio " ,
feature = " async-std " ,
feature = " smol "
) ) )
) ]
2020-04-30 05:37:44 +02:00
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 > ;