1#![cfg_attr(docsrs, feature(doc_cfg))]
12#![cfg_attr(feature = "current_thread_id", feature(current_thread_id))]
13#![warn(missing_docs)]
14
15mod affinity;
16mod attacher;
17mod runtime;
18
19#[cfg(feature = "event")]
20pub mod event;
21#[cfg(feature = "time")]
22pub mod time;
23
24pub use async_task::Task;
25pub use attacher::*;
26use compio_buf::BufResult;
27pub use runtime::*;
28
29macro_rules! assert_not_impl {
38 ($x:ty, $($t:path),+ $(,)*) => {
39 const _: fn() -> () = || {
40 struct Check<T: ?Sized>(T);
41 trait AmbiguousIfImpl<A> { fn some_item() { } }
42
43 impl<T: ?Sized> AmbiguousIfImpl<()> for Check<T> { }
44 impl<T: ?Sized $(+ $t)*> AmbiguousIfImpl<u8> for Check<T> { }
45
46 <Check::<$x> as AmbiguousIfImpl<_>>::some_item()
47 };
48 };
49}
50
51use assert_not_impl;