1// This is needed for 1.31.0 to keep compiling
2extern crate proc_macro;
3
4use darling_core::{derive, Error};
5use proc_macro::TokenStream;
6use syn::parse_macro_input;
7
8#[proc_macro_derive(FromMeta, attributes(darling))]
9pub fn derive_from_meta(input: TokenStream) -> TokenStream {
10 derive::from_meta(&parse_macro_input!(input)).into()
11}
12
13#[proc_macro_derive(FromMetaItem, attributes(darling))]
14pub fn derive_from_meta_item(_input: TokenStream) -> TokenStream {
15 ErrorTokenStream::custom(msg:"darling::FromMetaItem has been replaced by darling::FromMeta")
16 .write_errors()
17 .into()
18}
19
20#[proc_macro_derive(FromAttributes, attributes(darling))]
21pub fn derive_from_attributes(input: TokenStream) -> TokenStream {
22 derive::from_attributes(&parse_macro_input!(input)).into()
23}
24
25#[proc_macro_derive(FromDeriveInput, attributes(darling))]
26pub fn derive_from_input(input: TokenStream) -> TokenStream {
27 derive::from_derive_input(&parse_macro_input!(input)).into()
28}
29
30#[proc_macro_derive(FromField, attributes(darling))]
31pub fn derive_field(input: TokenStream) -> TokenStream {
32 derive::from_field(&parse_macro_input!(input)).into()
33}
34
35#[proc_macro_derive(FromTypeParam, attributes(darling))]
36pub fn derive_type_param(input: TokenStream) -> TokenStream {
37 derive::from_type_param(&parse_macro_input!(input)).into()
38}
39
40#[proc_macro_derive(FromVariant, attributes(darling))]
41pub fn derive_variant(input: TokenStream) -> TokenStream {
42 derive::from_variant(&parse_macro_input!(input)).into()
43}
44