diff options
Diffstat (limited to 'src/macros/cfg.rs')
-rw-r--r-- | src/macros/cfg.rs | 250 |
1 files changed, 95 insertions, 155 deletions
diff --git a/src/macros/cfg.rs b/src/macros/cfg.rs index 4b77544..2792911 100644 --- a/src/macros/cfg.rs +++ b/src/macros/cfg.rs @@ -1,97 +1,30 @@ #![allow(unused_macros)] -macro_rules! cfg_resource_drivers { - ($($item:item)*) => { - $( - #[cfg(any(feature = "io-driver", feature = "time"))] - $item - )* - } -} - -macro_rules! cfg_blocking { - ($($item:item)*) => { - $( - #[cfg(feature = "blocking")] - #[cfg_attr(docsrs, doc(cfg(feature = "blocking")))] - $item - )* - } -} - -/// Enables blocking API internals -macro_rules! cfg_blocking_impl { - ($($item:item)*) => { - $( - #[cfg(any( - feature = "blocking", - feature = "fs", - feature = "dns", - feature = "io-std", - feature = "rt-threaded", - ))] - $item - )* - } -} - -/// Enables blocking API internals -macro_rules! cfg_blocking_impl_or_task { - ($($item:item)*) => { - $( - #[cfg(any( - feature = "blocking", - feature = "fs", - feature = "dns", - feature = "io-std", - feature = "rt-threaded", - feature = "task", - ))] - $item - )* - } -} - /// Enables enter::block_on macro_rules! cfg_block_on { ($($item:item)*) => { $( #[cfg(any( - feature = "blocking", feature = "fs", - feature = "dns", + feature = "net", feature = "io-std", - feature = "rt-core", + feature = "rt", ))] $item )* } } -/// Enables blocking API internals -macro_rules! cfg_not_blocking_impl { - ($($item:item)*) => { - $( - #[cfg(not(any( - feature = "blocking", - feature = "fs", - feature = "dns", - feature = "io-std", - feature = "rt-threaded", - )))] - $item - )* - } -} - /// Enables internal `AtomicWaker` impl macro_rules! cfg_atomic_waker_impl { ($($item:item)*) => { $( #[cfg(any( - feature = "io-driver", + feature = "net", + feature = "process", + feature = "rt", + feature = "signal", feature = "time", - all(feature = "rt-core", feature = "rt-util") ))] #[cfg(not(loom))] $item @@ -99,16 +32,6 @@ macro_rules! cfg_atomic_waker_impl { } } -macro_rules! cfg_dns { - ($($item:item)*) => { - $( - #[cfg(feature = "dns")] - #[cfg_attr(docsrs, doc(cfg(feature = "dns")))] - $item - )* - } -} - macro_rules! cfg_fs { ($($item:item)*) => { $( @@ -128,8 +51,16 @@ macro_rules! cfg_io_blocking { macro_rules! cfg_io_driver { ($($item:item)*) => { $( - #[cfg(feature = "io-driver")] - #[cfg_attr(docsrs, doc(cfg(feature = "io-driver")))] + #[cfg(any( + feature = "net", + feature = "process", + all(unix, feature = "signal"), + ))] + #[cfg_attr(docsrs, doc(cfg(any( + feature = "net", + feature = "process", + all(unix, feature = "signal"), + ))))] $item )* } @@ -138,7 +69,20 @@ macro_rules! cfg_io_driver { macro_rules! cfg_not_io_driver { ($($item:item)*) => { $( - #[cfg(not(feature = "io-driver"))] + #[cfg(not(any( + feature = "net", + feature = "process", + all(unix, feature = "signal"), + )))] + $item + )* + } +} + +macro_rules! cfg_io_readiness { + ($($item:item)*) => { + $( + #[cfg(feature = "net")] $item )* } @@ -193,115 +137,142 @@ macro_rules! cfg_macros { } } -macro_rules! cfg_process { +macro_rules! cfg_net { ($($item:item)*) => { $( - #[cfg(feature = "process")] - #[cfg_attr(docsrs, doc(cfg(feature = "process")))] - #[cfg(not(loom))] + #[cfg(feature = "net")] + #[cfg_attr(docsrs, doc(cfg(feature = "net")))] $item )* } } -macro_rules! cfg_signal { +macro_rules! cfg_net_unix { ($($item:item)*) => { $( - #[cfg(feature = "signal")] - #[cfg_attr(docsrs, doc(cfg(feature = "signal")))] - #[cfg(not(loom))] + #[cfg(all(unix, feature = "net"))] + #[cfg_attr(docsrs, doc(cfg(feature = "net")))] $item )* } } -macro_rules! cfg_stream { +macro_rules! cfg_process { ($($item:item)*) => { $( - #[cfg(feature = "stream")] - #[cfg_attr(docsrs, doc(cfg(feature = "stream")))] + #[cfg(feature = "process")] + #[cfg_attr(docsrs, doc(cfg(feature = "process")))] + #[cfg(not(loom))] $item )* } } -macro_rules! cfg_sync { +macro_rules! cfg_process_driver { + ($($item:item)*) => { + #[cfg(unix)] + #[cfg(not(loom))] + cfg_process! { $($item)* } + } +} + +macro_rules! cfg_not_process_driver { ($($item:item)*) => { $( - #[cfg(feature = "sync")] - #[cfg_attr(docsrs, doc(cfg(feature = "sync")))] + #[cfg(not(all(unix, not(loom), feature = "process")))] $item )* } } -macro_rules! cfg_not_sync { +macro_rules! cfg_signal { ($($item:item)*) => { - $( #[cfg(not(feature = "sync"))] $item )* + $( + #[cfg(feature = "signal")] + #[cfg_attr(docsrs, doc(cfg(feature = "signal")))] + #[cfg(not(loom))] + $item + )* } } -macro_rules! cfg_rt_core { +macro_rules! cfg_signal_internal { ($($item:item)*) => { $( - #[cfg(feature = "rt-core")] + #[cfg(any(feature = "signal", all(unix, feature = "process")))] + #[cfg(not(loom))] $item )* } } -macro_rules! doc_rt_core { +macro_rules! cfg_not_signal_internal { ($($item:item)*) => { $( - #[cfg(feature = "rt-core")] - #[cfg_attr(docsrs, doc(cfg(feature = "rt-core")))] + #[cfg(any(loom, not(unix), not(any(feature = "signal", all(unix, feature = "process")))))] $item )* } } -macro_rules! cfg_not_rt_core { +macro_rules! cfg_stream { ($($item:item)*) => { - $( #[cfg(not(feature = "rt-core"))] $item )* + $( + #[cfg(feature = "stream")] + #[cfg_attr(docsrs, doc(cfg(feature = "stream")))] + $item + )* } } -macro_rules! cfg_rt_threaded { +macro_rules! cfg_sync { ($($item:item)*) => { $( - #[cfg(feature = "rt-threaded")] - #[cfg_attr(docsrs, doc(cfg(feature = "rt-threaded")))] + #[cfg(feature = "sync")] + #[cfg_attr(docsrs, doc(cfg(feature = "sync")))] $item )* } } -macro_rules! cfg_rt_util { +macro_rules! cfg_not_sync { + ($($item:item)*) => { + $( #[cfg(not(feature = "sync"))] $item )* + } +} + +macro_rules! cfg_rt { ($($item:item)*) => { $( - #[cfg(feature = "rt-util")] - #[cfg_attr(docsrs, doc(cfg(feature = "rt-util")))] + #[cfg(feature = "rt")] + #[cfg_attr(docsrs, doc(cfg(feature = "rt")))] $item )* } } -macro_rules! cfg_not_rt_threaded { +macro_rules! cfg_not_rt { ($($item:item)*) => { - $( #[cfg(not(feature = "rt-threaded"))] $item )* + $( #[cfg(not(feature = "rt"))] $item )* } } -macro_rules! cfg_tcp { +macro_rules! cfg_rt_multi_thread { ($($item:item)*) => { $( - #[cfg(feature = "tcp")] - #[cfg_attr(docsrs, doc(cfg(feature = "tcp")))] + #[cfg(feature = "rt-multi-thread")] + #[cfg_attr(docsrs, doc(cfg(feature = "rt-multi-thread")))] $item )* } } +macro_rules! cfg_not_rt_multi_thread { + ($($item:item)*) => { + $( #[cfg(not(feature = "rt-multi-thread"))] $item )* + } +} + macro_rules! cfg_test_util { ($($item:item)*) => { $( @@ -334,36 +305,6 @@ macro_rules! cfg_not_time { } } -macro_rules! cfg_udp { - ($($item:item)*) => { - $( - #[cfg(feature = "udp")] - #[cfg_attr(docsrs, doc(cfg(feature = "udp")))] - $item - )* - } -} - -macro_rules! cfg_uds { - ($($item:item)*) => { - $( - #[cfg(all(unix, feature = "uds"))] - #[cfg_attr(docsrs, doc(cfg(feature = "uds")))] - $item - )* - } -} - -macro_rules! cfg_unstable { - ($($item:item)*) => { - $( - #[cfg(tokio_unstable)] - #[cfg_attr(docsrs, doc(cfg(tokio_unstable)))] - $item - )* - } -} - macro_rules! cfg_trace { ($($item:item)*) => { $( @@ -387,16 +328,15 @@ macro_rules! cfg_coop { ($($item:item)*) => { $( #[cfg(any( - feature = "blocking", - feature = "dns", feature = "fs", - feature = "io-driver", feature = "io-std", + feature = "net", feature = "process", - feature = "rt-core", + feature = "rt", + feature = "signal", feature = "sync", feature = "stream", - feature = "time" + feature = "time", ))] $item )* |