Support precompiled deserialize_in_place

This commit is contained in:
David Tolnay
2023-07-19 11:53:45 -07:00
parent e2d8589976
commit 2027088741
6 changed files with 23 additions and 1 deletions
+1
View File
@@ -1,3 +1,4 @@
fn main() {
println!("cargo:rustc-cfg=precompiled");
println!("cargo:rustc-cfg=feature=\"deserialize_in_place\"");
}
+5
View File
@@ -3,6 +3,7 @@ extern crate proc_macro2;
use proc_macro2::watt;
use proc_macro2::watt::buffer::InputBuffer;
use std::io::{self, Read, Write};
use std::sync::atomic::Ordering;
fn main() {
let mut buf = Vec::new();
@@ -12,6 +13,10 @@ fn main() {
let derive = match buf.read_u8() {
0 => serde_derive::derive_serialize,
1 => serde_derive::derive_deserialize,
2 => {
serde_derive::DESERIALIZE_IN_PLACE.store(true, Ordering::Relaxed);
serde_derive::derive_deserialize
}
_ => unreachable!(),
};