No more syntex for serde_derive

This commit is contained in:
David Tolnay
2016-09-10 21:53:14 -07:00
parent 7cc36a9cd3
commit c34baa1e5f
15 changed files with 611 additions and 859 deletions
+5 -2
View File
@@ -14,8 +14,11 @@ include = ["Cargo.toml", "src/**/*.rs"]
name = "serde_derive"
rustc-macro = true
[dependencies]
serde_codegen = { version = "=0.8.8", path = "../serde_codegen" }
[dependencies.serde_codegen]
version = "=0.8.8"
path = "../serde_codegen"
default-features = false
features = ["with-syn"]
[dev-dependencies]
fnv = "1.0"
+2 -2
View File
@@ -9,13 +9,13 @@ use rustc_macro::TokenStream;
#[rustc_macro_derive(Serialize)]
pub fn derive_serialize(input: TokenStream) -> TokenStream {
let item = format!("#[derive(Serialize)]\n{}", input);
let expanded = serde_codegen::expand_str(&item).unwrap();
let expanded = serde_codegen::expand_single_item(&item);
expanded.parse().unwrap()
}
#[rustc_macro_derive(Deserialize)]
pub fn derive_deserialize(input: TokenStream) -> TokenStream {
let item = format!("#[derive(Deserialize)]\n{}", input);
let expanded = serde_codegen::expand_str(&item).unwrap();
let expanded = serde_codegen::expand_single_item(&item);
expanded.parse().unwrap()
}