diff --git a/serde_derive/src/de.rs b/serde_derive/src/de.rs index e73193b0..f371680e 100644 --- a/serde_derive/src/de.rs +++ b/serde_derive/src/de.rs @@ -7,7 +7,7 @@ use internals::{self, attr}; use std::iter; -pub fn expand_derive_deserialize(item: &syn::MacroInput) -> Result { +pub fn expand_derive_deserialize(item: &syn::DeriveInput) -> Result { let item = { let ctxt = internals::Ctxt::new(); let item = Item::from_ast(&ctxt, item); diff --git a/serde_derive/src/lib.rs b/serde_derive/src/lib.rs index 0f81cb46..cf80dc64 100644 --- a/serde_derive/src/lib.rs +++ b/serde_derive/src/lib.rs @@ -21,7 +21,7 @@ mod ser; #[proc_macro_derive(Serialize, attributes(serde))] pub fn derive_serialize(input: TokenStream) -> TokenStream { - let input = syn::parse_macro_input(&input.to_string()).unwrap(); + let input = syn::parse_derive_input(&input.to_string()).unwrap(); match ser::expand_derive_serialize(&input) { Ok(expanded) => expanded.parse().unwrap(), Err(msg) => panic!(msg), @@ -30,7 +30,7 @@ pub fn derive_serialize(input: TokenStream) -> TokenStream { #[proc_macro_derive(Deserialize, attributes(serde))] pub fn derive_deserialize(input: TokenStream) -> TokenStream { - let input = syn::parse_macro_input(&input.to_string()).unwrap(); + let input = syn::parse_derive_input(&input.to_string()).unwrap(); match de::expand_derive_deserialize(&input) { Ok(expanded) => expanded.parse().unwrap(), Err(msg) => panic!(msg), diff --git a/serde_derive/src/ser.rs b/serde_derive/src/ser.rs index c8efe1af..f85839e5 100644 --- a/serde_derive/src/ser.rs +++ b/serde_derive/src/ser.rs @@ -5,7 +5,7 @@ use bound; use internals::ast::{Body, Field, Item, Style, Variant}; use internals::{self, attr}; -pub fn expand_derive_serialize(item: &syn::MacroInput) -> Result { +pub fn expand_derive_serialize(item: &syn::DeriveInput) -> Result { let ctxt = internals::Ctxt::new(); let item = Item::from_ast(&ctxt, item); try!(ctxt.check());