mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-20 19:41:04 +00:00
Make all use of __private go through interpolation
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
use crate::internals::ast::{Container, Data, Field, Style, Variant};
|
||||
use crate::private;
|
||||
use proc_macro2::TokenStream;
|
||||
use quote::{format_ident, quote};
|
||||
|
||||
@@ -83,8 +84,8 @@ fn pretend_fields_used_struct(cont: &Container, fields: &[Field]) -> TokenStream
|
||||
let placeholders = (0usize..).map(|i| format_ident!("__v{}", i));
|
||||
|
||||
quote! {
|
||||
match _serde::__private::None::<&#type_ident #ty_generics> {
|
||||
_serde::__private::Some(#type_ident { #(#members: #placeholders),* }) => {}
|
||||
match _serde::#private::None::<&#type_ident #ty_generics> {
|
||||
_serde::#private::Some(#type_ident { #(#members: #placeholders),* }) => {}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
@@ -96,11 +97,12 @@ fn pretend_fields_used_struct_packed(cont: &Container, fields: &[Field]) -> Toke
|
||||
|
||||
let members = fields.iter().map(|field| &field.member).collect::<Vec<_>>();
|
||||
|
||||
let private2 = private;
|
||||
quote! {
|
||||
match _serde::__private::None::<&#type_ident #ty_generics> {
|
||||
_serde::__private::Some(__v @ #type_ident { #(#members: _),* }) => {
|
||||
match _serde::#private::None::<&#type_ident #ty_generics> {
|
||||
_serde::#private::Some(__v @ #type_ident { #(#members: _),* }) => {
|
||||
#(
|
||||
let _ = _serde::__private::ptr::addr_of!(__v.#members);
|
||||
let _ = _serde::#private2::ptr::addr_of!(__v.#members);
|
||||
)*
|
||||
}
|
||||
_ => {}
|
||||
@@ -125,10 +127,11 @@ fn pretend_fields_used_enum(cont: &Container, variants: &[Variant]) -> TokenStre
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
let private2 = private;
|
||||
quote! {
|
||||
match _serde::__private::None::<&#type_ident #ty_generics> {
|
||||
match _serde::#private::None::<&#type_ident #ty_generics> {
|
||||
#(
|
||||
_serde::__private::Some(#patterns) => {}
|
||||
_serde::#private2::Some(#patterns) => {}
|
||||
)*
|
||||
_ => {}
|
||||
}
|
||||
@@ -172,8 +175,8 @@ fn pretend_variants_used(cont: &Container) -> TokenStream {
|
||||
};
|
||||
|
||||
quote! {
|
||||
match _serde::__private::None {
|
||||
_serde::__private::Some((#(#placeholders,)*)) => {
|
||||
match _serde::#private::None {
|
||||
_serde::#private::Some((#(#placeholders,)*)) => {
|
||||
let _ = #type_ident::#variant_ident #turbofish #pat;
|
||||
}
|
||||
_ => {}
|
||||
|
||||
Reference in New Issue
Block a user