macro_rules! go_impl {
($LT:lifetime, $I:ty, $O:ty) => {
#[cfg(feature = "blocking")]
#[inline(always)]
fn go_blocking(
self,
mode: &$LT crate::mode::runtime::Blocking,
input: $I,
) -> crate::task::TaskOutput<$LT, crate::mode::runtime::Blocking, $O> {
Task::go::<crate::mode::runtime::Blocking>(self, mode, input)
}
#[cfg(feature = "async")]
#[inline(always)]
fn go_async(
self,
mode: &$LT crate::mode::runtime::Async,
input: $I,
) -> crate::task::TaskOutput<$LT, crate::mode::runtime::Async, $O>
where
$LT: 'static,
{
Task::go::<crate::mode::runtime::Async>(self, mode, input)
}
};
}
mod blocking;
pub use blocking::*;
mod cpu;
pub use cpu::*;
mod io;
pub use io::*;
mod join;
pub use join::*;
mod then;
pub use then::*;
mod map;
pub use map::*;
mod and_then;
pub use and_then::*;