1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
macro_rules! cfg_feature { ( #![$meta:meta] $($item:item)* ) => { $( #[cfg($meta)] #[cfg_attr(docsrs, doc(cfg($meta)))] $item )* } } macro_rules! cfg_proto { ($($item:item)*) => { cfg_feature! { #![all( any(feature = "http1", feature = "http2"), any(feature = "client", feature = "server"), )] $($item)* } } } cfg_proto! { macro_rules! cfg_http1 { ($($item:item)*) => { cfg_feature! { #![feature = "http1"] $($item)* } } } macro_rules! cfg_http2 { ($($item:item)*) => { cfg_feature! { #![feature = "http2"] $($item)* } } } macro_rules! cfg_client { ($($item:item)*) => { cfg_feature! { #![feature = "client"] $($item)* } } } macro_rules! cfg_server { ($($item:item)*) => { cfg_feature! { #![feature = "server"] $($item)* } } } }