aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-05-15 18:42:25 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-05-15 18:42:25 +0200
commit1adbd108a22ce9113517eb2208d6df8541bc9acb (patch)
treeeef8699a77a1503f9f25cdbc68c41837f3223acb
parent15a3c3c20774f14c3e83ea6e8c3f8821e3742d51 (diff)
add serialize trait
-rw-r--r--src/lib.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 93eca2a..9faf4d8 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,7 +1,13 @@
+use std::io::{self, Write};
+
use proc_macro::TokenStream;
use quote::quote;
use syn::{parse, ItemStruct};
+pub trait Serialize {
+ fn serialize<W: Write>(&self, w: W) -> io::Result<()>;
+}
+
#[proc_macro_derive(Serialize)]
pub fn derive_serialize(item: TokenStream) -> TokenStream {
let ast: ItemStruct = parse(item).unwrap();