mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-13 06:41:03 +00:00
Revamp serde_codegen_internals error handling
This commit is contained in:
@@ -9,13 +9,17 @@ 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_single_item(&item);
|
||||
expanded.parse().unwrap()
|
||||
match serde_codegen::expand_single_item(&item) {
|
||||
Ok(expanded) => expanded.parse().unwrap(),
|
||||
Err(msg) => panic!(msg),
|
||||
}
|
||||
}
|
||||
|
||||
#[rustc_macro_derive(Deserialize)]
|
||||
pub fn derive_deserialize(input: TokenStream) -> TokenStream {
|
||||
let item = format!("#[derive(Deserialize)]\n{}", input);
|
||||
let expanded = serde_codegen::expand_single_item(&item);
|
||||
expanded.parse().unwrap()
|
||||
match serde_codegen::expand_single_item(&item) {
|
||||
Ok(expanded) => expanded.parse().unwrap(),
|
||||
Err(msg) => panic!(msg),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user