]>
git.proxmox.com Git - rustc.git/blob - vendor/darling_macro/src/lib.rs
1 extern crate proc_macro
;
5 extern crate darling_core
;
7 use proc_macro
::TokenStream
;
9 use darling_core
::{derive, Error}
;
11 #[proc_macro_derive(FromMeta, attributes(darling))]
12 pub fn derive_from_meta(input
: TokenStream
) -> TokenStream
{
13 derive
::from_meta(&parse_macro_input
!(input
)).into()
16 #[proc_macro_derive(FromMetaItem, attributes(darling))]
17 pub fn derive_from_meta_item(_input
: TokenStream
) -> TokenStream
{
18 Error
::custom("darling::FromMetaItem has been replaced by darling::FromMeta")
23 #[proc_macro_derive(FromDeriveInput, attributes(darling))]
24 pub fn derive_from_input(input
: TokenStream
) -> TokenStream
{
25 derive
::from_derive_input(&parse_macro_input
!(input
)).into()
28 #[proc_macro_derive(FromField, attributes(darling))]
29 pub fn derive_field(input
: TokenStream
) -> TokenStream
{
30 derive
::from_field(&parse_macro_input
!(input
)).into()
33 #[proc_macro_derive(FromTypeParam, attributes(darling))]
34 pub fn derive_type_param(input
: TokenStream
) -> TokenStream
{
35 derive
::from_type_param(&parse_macro_input
!(input
)).into()
38 #[proc_macro_derive(FromVariant, attributes(darling))]
39 pub fn derive_variant(input
: TokenStream
) -> TokenStream
{
40 derive
::from_variant(&parse_macro_input
!(input
)).into()