summaryrefslogtreecommitdiffstats
path: root/vendor/serde_derive/src/dummy.rs
blob: 57e8eabf2625b8b4e077c511790f09e6ca749bf4 (plain)
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
use proc_macro2::TokenStream;

use syn;
use try;

pub fn wrap_in_const(serde_path: Option<&syn::Path>, code: TokenStream) -> TokenStream {
    let try_replacement = try::replacement();

    let use_serde = match serde_path {
        Some(path) => quote! {
            use #path as _serde;
        },
        None => quote! {
            #[allow(unused_extern_crates, clippy::useless_attribute)]
            extern crate serde as _serde;
        },
    };

    quote! {
        #[doc(hidden)]
        #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
        const _: () = {
            #use_serde
            #try_replacement
            #code
        };
    }
}