1 use proc_macro2::TokenStream; 2 use quote::quote; 3 use syn_codegen::Features; 4 features(features: &Features) -> TokenStream5pub fn features(features: &Features) -> TokenStream { 6 let features = &features.any; 7 match features.len() { 8 0 => quote!(), 9 1 => quote!(#[cfg(feature = #(#features)*)]), 10 _ => quote!(#[cfg(any(#(feature = #features),*))]), 11 } 12 } 13