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, .. }) => {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…