Compile serde_derive to wasm

This commit is contained in:
David Tolnay
2019-10-13 17:49:13 -07:00
parent 845b900fd5
commit 1afae183b0
6 changed files with 59 additions and 18 deletions
+1
View File
@@ -0,0 +1 @@
*.wasm
+16
View File
@@ -0,0 +1,16 @@
[package]
name = "wa-serde-derive"
version = "0.1.137"
authors = ["David Tolnay <dtolnay@gmail.com>"]
license = "MIT OR Apache-2.0"
description = "serde_derive compiled to wasm"
repository = "https://github.com/dtolnay/watt"
include = ["src"]
[lib]
proc-macro = true
[dependencies]
watt = "0.4"
[workspace]
+18
View File
@@ -0,0 +1,18 @@
extern crate proc_macro;
extern crate watt;
use proc_macro::TokenStream;
use watt::WasmMacro;
static MACRO: WasmMacro = WasmMacro::new(WASM);
static WASM: &[u8] = include_bytes!("serde_derive.wasm");
#[proc_macro_derive(Serialize, attributes(serde))]
pub fn derive_serialize(input: TokenStream) -> TokenStream {
MACRO.proc_macro_derive("derive_serialize", input)
}
#[proc_macro_derive(Deserialize, attributes(serde))]
pub fn derive_deserialize(input: TokenStream) -> TokenStream {
MACRO.proc_macro_derive("derive_deserialize", input)
}