INNER CODE UNIT · Rust
derive_serde
google/tarpc · plugins/src/lib.rs:340
pub fn derive_serde(_attr: TokenStream, item: TokenStream) -> TokenStream {
let mut derives: proc_macro2::TokenStream = quote! {
#[derive(::tarpc::serde::Serialize, ::tarpc::serde::Deserialize)]
#[serde(crate = "::tarpc::serde")]
};
derives.extend(proc_macro2::TokenStream::from(item));
proc_macro::TokenStream::from(derives)
}
fn collect_cfg_attrs(rpcs: &[RpcMethod]) -> Vec<Vec<&Attribute>> {
rpcs.iter()
.map(|rpc| {
rpc.attrs
.iter()
.filter(|att| {
att.style == AttrStyle::Outer
&& match &att.meta {
syn::Meta::List(syn::MetaList { path, .. }) => {