Coverage Report

Created: 2024-07-06 06:44

/rust/registry/src/index.crates.io-6f17d22bba15001f/erased-serde-0.3.31/src/ser.rs
Line
Count
Source (jump to first uncovered line)
1
use crate::alloc::Box;
2
use crate::any::Any;
3
use crate::error::Error;
4
use crate::map::ResultExt;
5
use core::fmt::Display;
6
use core::marker::PhantomData;
7
use serde::ser::{
8
    SerializeMap, SerializeSeq, SerializeStruct, SerializeStructVariant, SerializeTuple,
9
    SerializeTupleStruct, SerializeTupleVariant,
10
};
11
12
// TRAITS //////////////////////////////////////////////////////////////////////
13
14
/// An object-safe equivalent of Serde's `Serialize` trait.
15
///
16
/// Any implementation of Serde's `Serialize` converts seamlessly to an
17
/// `&erased_serde::Serialize` or `Box<erased_serde::Serialize>` trait object.
18
///
19
/// ```rust
20
/// use erased_serde::{Serialize, Serializer};
21
/// use std::collections::BTreeMap as Map;
22
/// use std::io;
23
///
24
/// fn main() {
25
///     // Construct some serializers.
26
///     let json = &mut serde_json::Serializer::new(io::stdout());
27
///     let cbor = &mut serde_cbor::Serializer::new(serde_cbor::ser::IoWrite::new(io::stdout()));
28
///
29
///     // The values in this map are boxed trait objects. Ordinarily this would not
30
///     // be possible with serde::Serializer because of object safety, but type
31
///     // erasure makes it possible with erased_serde::Serializer.
32
///     let mut formats: Map<&str, Box<dyn Serializer>> = Map::new();
33
///     formats.insert("json", Box::new(<dyn Serializer>::erase(json)));
34
///     formats.insert("cbor", Box::new(<dyn Serializer>::erase(cbor)));
35
///
36
///     // These are boxed trait objects as well. Same thing here - type erasure
37
///     // makes this possible.
38
///     let mut values: Map<&str, Box<dyn Serialize>> = Map::new();
39
///     values.insert("vec", Box::new(vec!["a", "b"]));
40
///     values.insert("int", Box::new(65536));
41
///
42
///     // Pick a Serializer out of the formats map.
43
///     let format = formats.get_mut("json").unwrap();
44
///
45
///     // Pick a Serialize out of the values map.
46
///     let value = values.get("vec").unwrap();
47
///
48
///     // This line prints `["a","b"]` to stdout.
49
///     value.erased_serialize(format).unwrap();
50
/// }
51
/// ```
52
pub trait Serialize {
53
    fn erased_serialize(&self, v: &mut dyn Serializer) -> Result<Ok, Error>;
54
}
55
56
/// An object-safe equivalent of Serde's `Serializer` trait.
57
///
58
/// Any implementation of Serde's `Serializer` can be converted to an
59
/// `&erased_serde::Serializer` or `Box<erased_serde::Serializer>` trait object
60
/// using `erased_serde::Serializer::erase`.
61
///
62
/// ```rust
63
/// use erased_serde::{Serialize, Serializer};
64
/// use std::collections::BTreeMap as Map;
65
/// use std::io;
66
///
67
/// fn main() {
68
///     // Construct some serializers.
69
///     let json = &mut serde_json::Serializer::new(io::stdout());
70
///     let cbor = &mut serde_cbor::Serializer::new(serde_cbor::ser::IoWrite::new(io::stdout()));
71
///
72
///     // The values in this map are boxed trait objects. Ordinarily this would not
73
///     // be possible with serde::Serializer because of object safety, but type
74
///     // erasure makes it possible with erased_serde::Serializer.
75
///     let mut formats: Map<&str, Box<dyn Serializer>> = Map::new();
76
///     formats.insert("json", Box::new(<dyn Serializer>::erase(json)));
77
///     formats.insert("cbor", Box::new(<dyn Serializer>::erase(cbor)));
78
///
79
///     // These are boxed trait objects as well. Same thing here - type erasure
80
///     // makes this possible.
81
///     let mut values: Map<&str, Box<dyn Serialize>> = Map::new();
82
///     values.insert("vec", Box::new(vec!["a", "b"]));
83
///     values.insert("int", Box::new(65536));
84
///
85
///     // Pick a Serializer out of the formats map.
86
///     let format = formats.get_mut("json").unwrap();
87
///
88
///     // Pick a Serialize out of the values map.
89
///     let value = values.get("vec").unwrap();
90
///
91
///     // This line prints `["a","b"]` to stdout.
92
///     value.erased_serialize(format).unwrap();
93
/// }
94
/// ```
95
pub trait Serializer {
96
    fn erased_serialize_bool(&mut self, v: bool) -> Result<Ok, Error>;
97
    fn erased_serialize_i8(&mut self, v: i8) -> Result<Ok, Error>;
98
    fn erased_serialize_i16(&mut self, v: i16) -> Result<Ok, Error>;
99
    fn erased_serialize_i32(&mut self, v: i32) -> Result<Ok, Error>;
100
    fn erased_serialize_i64(&mut self, v: i64) -> Result<Ok, Error>;
101
    fn erased_serialize_i128(&mut self, v: i128) -> Result<Ok, Error>;
102
    fn erased_serialize_u8(&mut self, v: u8) -> Result<Ok, Error>;
103
    fn erased_serialize_u16(&mut self, v: u16) -> Result<Ok, Error>;
104
    fn erased_serialize_u32(&mut self, v: u32) -> Result<Ok, Error>;
105
    fn erased_serialize_u64(&mut self, v: u64) -> Result<Ok, Error>;
106
    fn erased_serialize_u128(&mut self, v: u128) -> Result<Ok, Error>;
107
    fn erased_serialize_f32(&mut self, v: f32) -> Result<Ok, Error>;
108
    fn erased_serialize_f64(&mut self, v: f64) -> Result<Ok, Error>;
109
    fn erased_serialize_char(&mut self, v: char) -> Result<Ok, Error>;
110
    fn erased_serialize_str(&mut self, v: &str) -> Result<Ok, Error>;
111
    fn erased_serialize_bytes(&mut self, v: &[u8]) -> Result<Ok, Error>;
112
    fn erased_serialize_none(&mut self) -> Result<Ok, Error>;
113
    fn erased_serialize_some(&mut self, v: &dyn Serialize) -> Result<Ok, Error>;
114
    fn erased_serialize_unit(&mut self) -> Result<Ok, Error>;
115
    fn erased_serialize_unit_struct(&mut self, name: &'static str) -> Result<Ok, Error>;
116
    fn erased_serialize_unit_variant(
117
        &mut self,
118
        name: &'static str,
119
        variant_index: u32,
120
        variant: &'static str,
121
    ) -> Result<Ok, Error>;
122
    fn erased_serialize_newtype_struct(
123
        &mut self,
124
        name: &'static str,
125
        v: &dyn Serialize,
126
    ) -> Result<Ok, Error>;
127
    fn erased_serialize_newtype_variant(
128
        &mut self,
129
        name: &'static str,
130
        variant_index: u32,
131
        variant: &'static str,
132
        v: &dyn Serialize,
133
    ) -> Result<Ok, Error>;
134
    fn erased_serialize_seq(&mut self, len: Option<usize>) -> Result<Seq, Error>;
135
    fn erased_serialize_tuple(&mut self, len: usize) -> Result<Tuple, Error>;
136
    fn erased_serialize_tuple_struct(
137
        &mut self,
138
        name: &'static str,
139
        len: usize,
140
    ) -> Result<TupleStruct, Error>;
141
    fn erased_serialize_tuple_variant(
142
        &mut self,
143
        name: &'static str,
144
        variant_index: u32,
145
        variant: &'static str,
146
        len: usize,
147
    ) -> Result<TupleVariant, Error>;
148
    fn erased_serialize_map(&mut self, len: Option<usize>) -> Result<Map, Error>;
149
    fn erased_serialize_struct(&mut self, name: &'static str, len: usize) -> Result<Struct, Error>;
150
    fn erased_serialize_struct_variant(
151
        &mut self,
152
        name: &'static str,
153
        variant_index: u32,
154
        variant: &'static str,
155
        len: usize,
156
    ) -> Result<StructVariant, Error>;
157
    fn erased_is_human_readable(&self) -> bool;
158
}
159
160
impl dyn Serializer {
161
    /// Convert any Serde `Serializer` to a trait object.
162
    ///
163
    /// ```rust
164
    /// use erased_serde::{Serialize, Serializer};
165
    /// use std::collections::BTreeMap as Map;
166
    /// use std::io;
167
    ///
168
    /// fn main() {
169
    ///     // Construct some serializers.
170
    ///     let json = &mut serde_json::Serializer::new(io::stdout());
171
    ///     let cbor = &mut serde_cbor::Serializer::new(serde_cbor::ser::IoWrite::new(io::stdout()));
172
    ///
173
    ///     // The values in this map are boxed trait objects. Ordinarily this would not
174
    ///     // be possible with serde::Serializer because of object safety, but type
175
    ///     // erasure makes it possible with erased_serde::Serializer.
176
    ///     let mut formats: Map<&str, Box<dyn Serializer>> = Map::new();
177
    ///     formats.insert("json", Box::new(<dyn Serializer>::erase(json)));
178
    ///     formats.insert("cbor", Box::new(<dyn Serializer>::erase(cbor)));
179
    ///
180
    ///     // These are boxed trait objects as well. Same thing here - type erasure
181
    ///     // makes this possible.
182
    ///     let mut values: Map<&str, Box<dyn Serialize>> = Map::new();
183
    ///     values.insert("vec", Box::new(vec!["a", "b"]));
184
    ///     values.insert("int", Box::new(65536));
185
    ///
186
    ///     // Pick a Serializer out of the formats map.
187
    ///     let format = formats.get_mut("json").unwrap();
188
    ///
189
    ///     // Pick a Serialize out of the values map.
190
    ///     let value = values.get("vec").unwrap();
191
    ///
192
    ///     // This line prints `["a","b"]` to stdout.
193
    ///     value.erased_serialize(format).unwrap();
194
    /// }
195
    /// ```
196
0
    pub fn erase<S>(serializer: S) -> erase::Serializer<S>
197
0
    where
198
0
        S: serde::Serializer,
199
0
        S::Ok: 'static,
200
0
    {
201
0
        erase::Serializer {
202
0
            state: Some(serializer),
203
0
        }
204
0
    }
205
}
206
207
// OK //////////////////////////////////////////////////////////////////////////
208
209
// Corresponds to the Serializer::Ok associated type.
210
//
211
// This struct is exposed to users by invoking methods on the Serialize or
212
// Serializer trait objects, so we need to make sure they do not hold on to the
213
// Ok beyond the lifetime of the data in the Any.
214
//
215
// We do this by enforcing S::Ok is 'static for every Serializer trait object
216
// created by the user.
217
pub struct Ok {
218
    data: Any,
219
}
220
221
impl Ok {
222
0
    unsafe fn new<T>(t: T) -> Self {
223
0
        Ok {
224
0
            data: unsafe { Any::new(t) },
225
0
        }
226
0
    }
Unexecuted instantiation: <erased_serde::ser::Ok>::new::<erased_serde::ser::Ok>
Unexecuted instantiation: <erased_serde::ser::Ok>::new::<alloc::string::String>
Unexecuted instantiation: <erased_serde::ser::Ok>::new::<serde_json::value::Value>
Unexecuted instantiation: <erased_serde::ser::Ok>::new::<()>
Unexecuted instantiation: <erased_serde::ser::Ok>::new::<_>
227
228
0
    unsafe fn take<T>(self) -> T {
229
0
        unsafe { self.data.take() }
230
0
    }
Unexecuted instantiation: <erased_serde::ser::Ok>::take::<erased_serde::ser::Ok>
Unexecuted instantiation: <erased_serde::ser::Ok>::take::<alloc::string::String>
Unexecuted instantiation: <erased_serde::ser::Ok>::take::<serde_json::value::Value>
Unexecuted instantiation: <erased_serde::ser::Ok>::take::<()>
Unexecuted instantiation: <erased_serde::ser::Ok>::take::<_>
231
}
232
233
// IMPL ERASED SERDE FOR SERDE /////////////////////////////////////////////////
234
235
impl<T> Serialize for T
236
where
237
    T: ?Sized + serde::Serialize,
238
{
239
0
    fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error> {
240
0
        self.serialize(serializer)
241
0
    }
Unexecuted instantiation: <starlark::values::typing::never::TypingNever as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::float::StarlarkFloat as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::iter::TypingIterable as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::eval::compiler::def_inline::local_as_value::LocalAsValue as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <&starlark::values::layout::typed::ValueTyped<starlark::values::types::string::str_type::StarlarkStr> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::none::none_type::NoneType as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::string::str_type::StarlarkStr as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <&dyn erased_serde::ser::Serialize as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <&&str as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::any::TypingAny as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::enumeration::value::EnumValueGen<starlark::values::layout::value::FrozenValue> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::enumeration::value::EnumValueGen<starlark::values::layout::value::Value> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::callable::TypingCallable as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::callable::TypingCallableAt2 as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::int::PointerI32 as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::tuple::value::TupleGen<starlark::values::layout::value::FrozenValue> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::tuple::value::TupleGen<starlark::values::layout::value::Value> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::list::value::ListGen<starlark::values::types::list::value::FrozenListData> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::list::value::ListGen<starlark::values::types::list::value::ListData> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::record::instance::RecordGen<starlark::values::layout::value::FrozenValue> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::record::instance::RecordGen<starlark::values::layout::value::Value> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsAnyOfTwo<starlark::values::typing::type_compiled::matchers::IsNone, starlark::values::typing::type_compiled::matchers::StarlarkTypeIdMatcher>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsAnyOfTwo<starlark::values::typing::type_compiled::matchers::IsNone, starlark::values::typing::type_compiled::matchers::IsInt>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsAnyOfTwo<starlark::values::typing::type_compiled::matchers::IsNone, starlark::values::typing::type_compiled::matchers::IsStr>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsAnyOfTwo<starlark::values::typing::type_compiled::matchers::IsNone, starlark::values::typing::type_compiled::matchers::IsList>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsAnyOfTwo<starlark::values::typing::type_compiled::matchers::IsNone, starlark::values::typing::type_compiled::matcher::TypeMatcherBox>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsAnyOfTwo<starlark::values::typing::type_compiled::matcher::TypeMatcherBox, starlark::values::typing::type_compiled::matcher::TypeMatcherBox>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsTupleElems1<starlark::values::typing::type_compiled::matcher::TypeMatcherBox>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsTupleElems2<starlark::values::typing::type_compiled::matchers::StarlarkTypeIdMatcher, starlark::values::typing::type_compiled::matchers::StarlarkTypeIdMatcher>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsTupleElems2<starlark::values::typing::type_compiled::matcher::TypeMatcherBox, starlark::values::typing::type_compiled::matcher::TypeMatcherBox>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsDictOf<starlark::values::typing::type_compiled::matchers::StarlarkTypeIdMatcher, starlark::values::typing::type_compiled::matchers::IsAny>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsDictOf<starlark::values::typing::type_compiled::matchers::StarlarkTypeIdMatcher, starlark::values::typing::type_compiled::matcher::TypeMatcherBox>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsDictOf<starlark::values::typing::type_compiled::matchers::IsAny, starlark::values::typing::type_compiled::matcher::TypeMatcherBox>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsDictOf<starlark::values::typing::type_compiled::matchers::IsStr, starlark::values::typing::type_compiled::matchers::IsAny>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsDictOf<starlark::values::typing::type_compiled::matchers::IsStr, starlark::values::typing::type_compiled::matcher::TypeMatcherBox>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsDictOf<starlark::values::typing::type_compiled::matcher::TypeMatcherBox, starlark::values::typing::type_compiled::matcher::TypeMatcherBox>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsDictOf<starlark::values::typing::type_compiled::matcher::TypeMatcherBox, starlark::values::typing::type_compiled::matchers::IsAny>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsListOf<starlark::values::typing::type_compiled::matchers::StarlarkTypeIdMatcher>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsListOf<starlark::values::typing::type_compiled::matchers::IsStr>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsListOf<starlark::values::typing::type_compiled::matcher::TypeMatcherBox>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsTupleOf<starlark::values::typing::type_compiled::matchers::StarlarkTypeIdMatcher>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsTupleOf<starlark::values::typing::type_compiled::matcher::TypeMatcherBox>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::compiled::DummyTypeMatcher> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matcher::TypeMatcherBox> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsCallable> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsIterable> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsTupleElems> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsTupleElems0> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::StarlarkTypeIdMatcher> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsAny> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsInt> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsStr> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsBool> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsDict> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsList> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsName> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsNone> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsType> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsAnyOf> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::typing::type_compiled::matchers::IsNever> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::types::enumeration::matcher::EnumTypeMatcher> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<starlark::values::types::record::matcher::RecordTypeMatcher> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::typing::type_compiled::compiled::TypeCompiledImplAsStarlarkValue<<starlark::typing::structs::TyStruct as starlark::typing::custom::TyCustomImpl>::matcher::StructMatcher> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <&starlark::values::layout::value::FrozenValue as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <&starlark::values::layout::value::Value as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <&&starlark::values::layout::value::Value as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::layout::value_captured::ValueCaptured as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::layout::value_captured::FrozenValueCaptured as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::structs::value::StructGen<starlark::values::layout::value::FrozenValue> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::structs::value::StructGen<starlark::values::layout::value::Value> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::bigint::StarlarkBigInt as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::enumeration::enum_type::EnumTypeGen<starlark::values::layout::value::FrozenValue> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::enumeration::enum_type::EnumTypeGen<starlark::values::layout::value::Value> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::string::iter::StringIterableGen<starlark::values::layout::value::FrozenValue> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::string::iter::StringIterableGen<starlark::values::layout::value::Value> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::record::record_type::RecordTypeGen<starlark::values::layout::value::FrozenValue> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::record::record_type::RecordTypeGen<starlark::values::layout::value::Value> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::record::field::FieldGen<starlark::values::layout::value::FrozenValue> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::record::field::FieldGen<starlark::values::layout::value::Value> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::bool::StarlarkBool as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::dict::value::DictGen<core::cell::RefCell<starlark::values::types::dict::value::Dict>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::dict::value::DictGen<starlark::values::types::dict::value::FrozenDictData> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::function::BoundMethodGen<starlark::values::layout::value::FrozenValue> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::function::BoundMethodGen<starlark::values::layout::value::Value> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::function::NativeMethod as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::function::NativeFunction as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::function::NativeAttribute as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<starlark::values::layout::typed::FrozenValueTyped<starlark::values::types::string::str_type::StarlarkStr>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::values::types::enumeration::enum_type::enum_type_methods::build::Impl_values>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::dict::dict_methods::build::Impl_clear>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::dict::dict_methods::build::Impl_items>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::dict::dict_methods::build::Impl_update>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::dict::dict_methods::build::Impl_values>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::dict::dict_methods::build::Impl_popitem>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::dict::dict_methods::build::Impl_setdefault>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::dict::dict_methods::build::Impl_get>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::dict::dict_methods::build::Impl_pop>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::dict::dict_methods::build::Impl_keys>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::list::list_methods::build::Impl_clear>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::list::list_methods::build::Impl_index>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::list::list_methods::build::Impl_append>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::list::list_methods::build::Impl_extend>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::list::list_methods::build::Impl_insert>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::list::list_methods::build::Impl_remove>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::list::list_methods::build::Impl_pop>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_count>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_elems>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_index>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_lower>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_rfind>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_split>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_strip>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_title>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_upper>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_format>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_lstrip>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_rindex>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_rsplit>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_rstrip>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_isalnum>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_isalpha>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_isdigit>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_islower>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_isspace>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_istitle>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_isupper>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_replace>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_endswith>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_partition>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_capitalize>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_codepoints>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_rpartition>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_splitlines>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_startswith>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_removeprefix>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_removesuffix>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_find>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::string::string_methods::build::Impl_join>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::values::typing::type_compiled::compiled::type_compiled_methods::build::Impl_matches>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::values::typing::type_compiled::compiled::type_compiled_methods::build::Impl_check_matches>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::values::types::enumeration::value::enum_value_methods::build::index>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::values::types::enumeration::value::enum_value_methods::build::value>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::values::types::enumeration::enum_type::enum_type_methods::build::type>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::values::types::record::record_type::record_type_methods::build::type>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::call_stack::stack_frame_methods::build::module_path>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<<starlark::values::layout::heap::heap_type::FrozenHeap>::alloc_any_debug_type_name::DebugValue<starlark::stdlib::call_stack::stack_frame_methods::build::func_name>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<starlark_syntax::codemap::CodeMap> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<starlark::environment::globals::Globals> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<starlark::environment::modules::FrozenModuleData> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<starlark::eval::bc::stack_ptr::BcSlotOut> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<starlark::eval::runtime::frame_span::FrameSpan> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<starlark::eval::runtime::inlined_frame::InlinedFrame> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<starlark::eval::runtime::slots::LocalSlotId> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<starlark::eval::compiler::def::CopySlotFromParent> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any::StarlarkAny<starlark::eval::compiler::def::DefInfo> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::eval::compiler::def::DefGen<starlark::values::layout::value::FrozenValue> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::eval::compiler::def::DefGen<starlark::values::layout::value::Value> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::stdlib::partial::PartialGen<starlark::values::layout::value::FrozenValue, starlark::values::layout::typed::FrozenValueTyped<starlark::values::types::string::str_type::StarlarkStr>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::stdlib::partial::PartialGen<starlark::values::layout::value::Value, starlark::values::layout::typed::ValueTyped<starlark::values::types::string::str_type::StarlarkStr>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::array::Array as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::range::Range as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::stdlib::call_stack::StackFrame as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::ellipsis::Ellipsis as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any_array::AnyArray<starlark::values::layout::typed::FrozenValueTyped<starlark::values::types::string::str_type::StarlarkStr>> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any_array::AnyArray<starlark::eval::bc::stack_ptr::BcSlotOut> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any_array::AnyArray<starlark::eval::runtime::slots::LocalSlotId> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::types::any_array::AnyArray<starlark::eval::compiler::def::CopySlotFromParent> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::layout::heap::call_enter_exit::CallExit<starlark::values::layout::heap::call_enter_exit::NoDrop> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::layout::heap::call_enter_exit::CallExit<starlark::values::layout::heap::call_enter_exit::NeedsDrop> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::layout::heap::call_enter_exit::CallEnter<starlark::values::layout::heap::call_enter_exit::NoDrop> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <starlark::values::layout::heap::call_enter_exit::CallEnter<starlark::values::layout::heap::call_enter_exit::NeedsDrop> as erased_serde::ser::Serialize>::erased_serialize
Unexecuted instantiation: <_ as erased_serde::ser::Serialize>::erased_serialize
242
}
243
244
mod erase {
245
    pub struct Serializer<S> {
246
        pub(crate) state: Option<S>,
247
    }
248
249
    impl<S> Serializer<S> {
250
0
        pub(crate) fn take(&mut self) -> S {
251
0
            self.state.take().unwrap()
252
0
        }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>::take
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer>>::take
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer>>::take
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer>>::take
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>>::take
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_>>::take
253
254
0
        pub(crate) fn as_ref(&self) -> &S {
255
0
            self.state.as_ref().unwrap()
256
0
        }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>>::as_ref
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer>>::as_ref
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer>>::as_ref
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer>>::as_ref
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>>::as_ref
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_>>::as_ref
257
    }
258
}
259
260
impl<T> Serializer for erase::Serializer<T>
261
where
262
    T: serde::Serializer,
263
{
264
0
    fn erased_serialize_bool(&mut self, v: bool) -> Result<Ok, Error> {
265
0
        unsafe {
266
0
            self.take()
267
0
                .serialize_bool(v)
268
0
                .unsafe_map(Ok::new)
269
0
                .map_err(erase)
270
0
        }
271
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_bool
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_bool
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_bool
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_bool
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_bool
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_bool
272
273
0
    fn erased_serialize_i8(&mut self, v: i8) -> Result<Ok, Error> {
274
0
        unsafe {
275
0
            self.take()
276
0
                .serialize_i8(v)
277
0
                .unsafe_map(Ok::new)
278
0
                .map_err(erase)
279
0
        }
280
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_i8
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i8
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_i8
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i8
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_i8
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_i8
281
282
0
    fn erased_serialize_i16(&mut self, v: i16) -> Result<Ok, Error> {
283
0
        unsafe {
284
0
            self.take()
285
0
                .serialize_i16(v)
286
0
                .unsafe_map(Ok::new)
287
0
                .map_err(erase)
288
0
        }
289
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_i16
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i16
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_i16
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i16
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_i16
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_i16
290
291
0
    fn erased_serialize_i32(&mut self, v: i32) -> Result<Ok, Error> {
292
0
        unsafe {
293
0
            self.take()
294
0
                .serialize_i32(v)
295
0
                .unsafe_map(Ok::new)
296
0
                .map_err(erase)
297
0
        }
298
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_i32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_i32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_i32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_i32
299
300
0
    fn erased_serialize_i64(&mut self, v: i64) -> Result<Ok, Error> {
301
0
        unsafe {
302
0
            self.take()
303
0
                .serialize_i64(v)
304
0
                .unsafe_map(Ok::new)
305
0
                .map_err(erase)
306
0
        }
307
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_i64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_i64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_i64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_i64
308
309
0
    fn erased_serialize_i128(&mut self, v: i128) -> Result<Ok, Error> {
310
0
        unsafe {
311
0
            self.take()
312
0
                .serialize_i128(v)
313
0
                .unsafe_map(Ok::new)
314
0
                .map_err(erase)
315
0
        }
316
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_i128
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i128
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_i128
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i128
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_i128
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_i128
317
318
0
    fn erased_serialize_u8(&mut self, v: u8) -> Result<Ok, Error> {
319
0
        unsafe {
320
0
            self.take()
321
0
                .serialize_u8(v)
322
0
                .unsafe_map(Ok::new)
323
0
                .map_err(erase)
324
0
        }
325
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_u8
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u8
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_u8
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u8
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_u8
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_u8
326
327
0
    fn erased_serialize_u16(&mut self, v: u16) -> Result<Ok, Error> {
328
0
        unsafe {
329
0
            self.take()
330
0
                .serialize_u16(v)
331
0
                .unsafe_map(Ok::new)
332
0
                .map_err(erase)
333
0
        }
334
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_u16
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u16
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_u16
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u16
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_u16
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_u16
335
336
0
    fn erased_serialize_u32(&mut self, v: u32) -> Result<Ok, Error> {
337
0
        unsafe {
338
0
            self.take()
339
0
                .serialize_u32(v)
340
0
                .unsafe_map(Ok::new)
341
0
                .map_err(erase)
342
0
        }
343
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_u32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_u32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_u32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_u32
344
345
0
    fn erased_serialize_u64(&mut self, v: u64) -> Result<Ok, Error> {
346
0
        unsafe {
347
0
            self.take()
348
0
                .serialize_u64(v)
349
0
                .unsafe_map(Ok::new)
350
0
                .map_err(erase)
351
0
        }
352
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_u64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_u64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_u64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_u64
353
354
0
    fn erased_serialize_u128(&mut self, v: u128) -> Result<Ok, Error> {
355
0
        unsafe {
356
0
            self.take()
357
0
                .serialize_u128(v)
358
0
                .unsafe_map(Ok::new)
359
0
                .map_err(erase)
360
0
        }
361
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_u128
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u128
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_u128
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u128
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_u128
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_u128
362
363
0
    fn erased_serialize_f32(&mut self, v: f32) -> Result<Ok, Error> {
364
0
        unsafe {
365
0
            self.take()
366
0
                .serialize_f32(v)
367
0
                .unsafe_map(Ok::new)
368
0
                .map_err(erase)
369
0
        }
370
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_f32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_f32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_f32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_f32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_f32
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_f32
371
372
0
    fn erased_serialize_f64(&mut self, v: f64) -> Result<Ok, Error> {
373
0
        unsafe {
374
0
            self.take()
375
0
                .serialize_f64(v)
376
0
                .unsafe_map(Ok::new)
377
0
                .map_err(erase)
378
0
        }
379
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_f64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_f64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_f64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_f64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_f64
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_f64
380
381
0
    fn erased_serialize_char(&mut self, v: char) -> Result<Ok, Error> {
382
0
        unsafe {
383
0
            self.take()
384
0
                .serialize_char(v)
385
0
                .unsafe_map(Ok::new)
386
0
                .map_err(erase)
387
0
        }
388
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_char
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_char
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_char
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_char
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_char
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_char
389
390
0
    fn erased_serialize_str(&mut self, v: &str) -> Result<Ok, Error> {
391
0
        unsafe {
392
0
            self.take()
393
0
                .serialize_str(v)
394
0
                .unsafe_map(Ok::new)
395
0
                .map_err(erase)
396
0
        }
397
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_str
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_str
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_str
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_str
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_str
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_str
398
399
0
    fn erased_serialize_bytes(&mut self, v: &[u8]) -> Result<Ok, Error> {
400
0
        unsafe {
401
0
            self.take()
402
0
                .serialize_bytes(v)
403
0
                .unsafe_map(Ok::new)
404
0
                .map_err(erase)
405
0
        }
406
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_bytes
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_bytes
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_bytes
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_bytes
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_bytes
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_bytes
407
408
0
    fn erased_serialize_none(&mut self) -> Result<Ok, Error> {
409
0
        unsafe {
410
0
            self.take()
411
0
                .serialize_none()
412
0
                .unsafe_map(Ok::new)
413
0
                .map_err(erase)
414
0
        }
415
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_none
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_none
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_none
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_none
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_none
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_none
416
417
0
    fn erased_serialize_some(&mut self, v: &dyn Serialize) -> Result<Ok, Error> {
418
0
        unsafe {
419
0
            self.take()
420
0
                .serialize_some(v)
421
0
                .unsafe_map(Ok::new)
422
0
                .map_err(erase)
423
0
        }
424
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_some
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_some
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_some
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_some
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_some
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_some
425
426
0
    fn erased_serialize_unit(&mut self) -> Result<Ok, Error> {
427
0
        unsafe {
428
0
            self.take()
429
0
                .serialize_unit()
430
0
                .unsafe_map(Ok::new)
431
0
                .map_err(erase)
432
0
        }
433
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_unit
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_unit
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_unit
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_unit
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_unit
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_unit
434
435
0
    fn erased_serialize_unit_struct(&mut self, name: &'static str) -> Result<Ok, Error> {
436
0
        unsafe {
437
0
            self.take()
438
0
                .serialize_unit_struct(name)
439
0
                .unsafe_map(Ok::new)
440
0
                .map_err(erase)
441
0
        }
442
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_unit_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_unit_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_unit_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_unit_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_unit_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_unit_struct
443
444
0
    fn erased_serialize_unit_variant(
445
0
        &mut self,
446
0
        name: &'static str,
447
0
        variant_index: u32,
448
0
        variant: &'static str,
449
0
    ) -> Result<Ok, Error> {
450
0
        unsafe {
451
0
            self.take()
452
0
                .serialize_unit_variant(name, variant_index, variant)
453
0
                .unsafe_map(Ok::new)
454
0
                .map_err(erase)
455
0
        }
456
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_unit_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_unit_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_unit_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_unit_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_unit_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_unit_variant
457
458
0
    fn erased_serialize_newtype_struct(
459
0
        &mut self,
460
0
        name: &'static str,
461
0
        v: &dyn Serialize,
462
0
    ) -> Result<Ok, Error> {
463
0
        unsafe {
464
0
            self.take()
465
0
                .serialize_newtype_struct(name, v)
466
0
                .unsafe_map(Ok::new)
467
0
                .map_err(erase)
468
0
        }
469
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_newtype_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_newtype_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_newtype_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_newtype_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_newtype_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_newtype_struct
470
471
0
    fn erased_serialize_newtype_variant(
472
0
        &mut self,
473
0
        name: &'static str,
474
0
        variant_index: u32,
475
0
        variant: &'static str,
476
0
        v: &dyn Serialize,
477
0
    ) -> Result<Ok, Error> {
478
0
        unsafe {
479
0
            self.take()
480
0
                .serialize_newtype_variant(name, variant_index, variant, v)
481
0
                .unsafe_map(Ok::new)
482
0
                .map_err(erase)
483
0
        }
484
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_newtype_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_newtype_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_newtype_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_newtype_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_newtype_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_newtype_variant
485
486
0
    fn erased_serialize_seq(&mut self, len: Option<usize>) -> Result<Seq, Error> {
487
0
        unsafe {
488
0
            self.take()
489
0
                .serialize_seq(len)
490
0
                .unsafe_map(Seq::new)
491
0
                .map_err(erase)
492
0
        }
493
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_seq
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_seq
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_seq
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_seq
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_seq
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_seq
494
495
0
    fn erased_serialize_tuple(&mut self, len: usize) -> Result<Tuple, Error> {
496
0
        unsafe {
497
0
            self.take()
498
0
                .serialize_tuple(len)
499
0
                .unsafe_map(Tuple::new)
500
0
                .map_err(erase)
501
0
        }
502
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_tuple
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_tuple
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_tuple
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_tuple
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_tuple
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_tuple
503
504
0
    fn erased_serialize_tuple_struct(
505
0
        &mut self,
506
0
        name: &'static str,
507
0
        len: usize,
508
0
    ) -> Result<TupleStruct, Error> {
509
0
        unsafe {
510
0
            self.take()
511
0
                .serialize_tuple_struct(name, len)
512
0
                .unsafe_map(TupleStruct::new)
513
0
                .map_err(erase)
514
0
        }
515
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_tuple_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_tuple_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_tuple_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_tuple_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_tuple_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_tuple_struct
516
517
0
    fn erased_serialize_tuple_variant(
518
0
        &mut self,
519
0
        name: &'static str,
520
0
        variant_index: u32,
521
0
        variant: &'static str,
522
0
        len: usize,
523
0
    ) -> Result<TupleVariant, Error> {
524
0
        unsafe {
525
0
            self.take()
526
0
                .serialize_tuple_variant(name, variant_index, variant, len)
527
0
                .unsafe_map(TupleVariant::new)
528
0
                .map_err(erase)
529
0
        }
530
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_tuple_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_tuple_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_tuple_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_tuple_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_tuple_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_tuple_variant
531
532
0
    fn erased_serialize_map(&mut self, len: Option<usize>) -> Result<Map, Error> {
533
0
        unsafe {
534
0
            self.take()
535
0
                .serialize_map(len)
536
0
                .unsafe_map(Map::new)
537
0
                .map_err(erase)
538
0
        }
539
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_map
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_map
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_map
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_map
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_map
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_map
540
541
0
    fn erased_serialize_struct(&mut self, name: &'static str, len: usize) -> Result<Struct, Error> {
542
0
        unsafe {
543
0
            self.take()
544
0
                .serialize_struct(name, len)
545
0
                .unsafe_map(Struct::new)
546
0
                .map_err(erase)
547
0
        }
548
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_struct
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_struct
549
550
0
    fn erased_serialize_struct_variant(
551
0
        &mut self,
552
0
        name: &'static str,
553
0
        variant_index: u32,
554
0
        variant: &'static str,
555
0
        len: usize,
556
0
    ) -> Result<StructVariant, Error> {
557
0
        unsafe {
558
0
            self.take()
559
0
                .serialize_struct_variant(name, variant_index, variant, len)
560
0
                .unsafe_map(StructVariant::new)
561
0
                .map_err(erase)
562
0
        }
563
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_serialize_struct_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_struct_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_serialize_struct_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_struct_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_serialize_struct_variant
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_serialize_struct_variant
564
565
0
    fn erased_is_human_readable(&self) -> bool {
566
0
        self.as_ref().is_human_readable()
567
0
    }
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>> as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::Serializer> as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<serde_json::value::ser::MapKeySerializer> as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <erased_serde::ser::erase::Serializer<_> as erased_serde::ser::Serializer>::erased_is_human_readable
568
}
569
570
// IMPL SERDE FOR ERASED SERDE /////////////////////////////////////////////////
571
572
/// Serialize the given type-erased serializable value.
573
///
574
/// This can be used to implement `serde::Serialize` for trait objects that have
575
/// `erased_serde::Serialize` as a supertrait.
576
///
577
/// ```
578
/// trait Event: erased_serde::Serialize {
579
///     /* ... */
580
/// }
581
///
582
/// impl<'a> serde::Serialize for dyn Event + 'a {
583
///     fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
584
///         where S: serde::Serializer
585
///     {
586
///         erased_serde::serialize(self, serializer)
587
///     }
588
/// }
589
/// ```
590
///
591
/// Since this is reasonably common, the `serialize_trait_object!` macro
592
/// generates such a Serialize impl.
593
///
594
/// ```
595
/// use erased_serde::serialize_trait_object;
596
/// #
597
/// # trait Event: erased_serde::Serialize {}
598
///
599
/// serialize_trait_object!(Event);
600
/// ```
601
0
pub fn serialize<T, S>(value: &T, serializer: S) -> Result<S::Ok, S::Error>
602
0
where
603
0
    T: ?Sized + Serialize,
604
0
    S: serde::Serializer,
605
0
{
606
0
    let mut erased = erase::Serializer {
607
0
        state: Some(serializer),
608
0
    };
609
0
    unsafe {
610
0
        value
611
0
            .erased_serialize(&mut erased)
612
0
            .unsafe_map(Ok::take)
613
0
            .map_err(unerase)
614
0
    }
615
0
}
Unexecuted instantiation: erased_serde::ser::serialize::<dyn erased_serde::ser::Serialize, serde_json::ser::MapKeySerializer<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: erased_serde::ser::serialize::<dyn erased_serde::ser::Serialize, serde_json::value::ser::Serializer>
Unexecuted instantiation: erased_serde::ser::serialize::<dyn erased_serde::ser::Serialize, serde_json::value::ser::MapKeySerializer>
Unexecuted instantiation: erased_serde::ser::serialize::<dyn erased_serde::ser::Serialize, &mut dyn erased_serde::ser::Serializer>
Unexecuted instantiation: erased_serde::ser::serialize::<dyn erased_serde::ser::Serialize, &mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>>
Unexecuted instantiation: erased_serde::ser::serialize::<_, _>
616
617
serialize_trait_object!(Serialize);
618
619
macro_rules! impl_serializer_for_trait_object {
620
    ($ty:ty) => {
621
        impl<'a> serde::Serializer for $ty {
622
            type Ok = Ok;
623
            type Error = Error;
624
            type SerializeSeq = Seq<'a>;
625
            type SerializeTuple = Tuple<'a>;
626
            type SerializeTupleStruct = TupleStruct<'a>;
627
            type SerializeTupleVariant = TupleVariant<'a>;
628
            type SerializeMap = Map<'a>;
629
            type SerializeStruct = Struct<'a>;
630
            type SerializeStructVariant = StructVariant<'a>;
631
632
0
            fn serialize_bool(self, v: bool) -> Result<Ok, Error> {
633
0
                self.erased_serialize_bool(v)
634
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_bool
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_bool
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_bool
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_bool
635
636
0
            fn serialize_i8(self, v: i8) -> Result<Ok, Error> {
637
0
                self.erased_serialize_i8(v)
638
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_i8
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_i8
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_i8
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_i8
639
640
0
            fn serialize_i16(self, v: i16) -> Result<Ok, Error> {
641
0
                self.erased_serialize_i16(v)
642
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_i16
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_i16
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_i16
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_i16
643
644
0
            fn serialize_i32(self, v: i32) -> Result<Ok, Error> {
645
0
                self.erased_serialize_i32(v)
646
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_i32
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_i32
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_i32
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_i32
647
648
0
            fn serialize_i64(self, v: i64) -> Result<Ok, Error> {
649
0
                self.erased_serialize_i64(v)
650
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_i64
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_i64
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_i64
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_i64
651
652
0
            fn serialize_i128(self, v: i128) -> Result<Ok, Error> {
653
0
                self.erased_serialize_i128(v)
654
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_i128
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_i128
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_i128
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_i128
655
656
0
            fn serialize_u8(self, v: u8) -> Result<Ok, Error> {
657
0
                self.erased_serialize_u8(v)
658
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_u8
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_u8
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_u8
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_u8
659
660
0
            fn serialize_u16(self, v: u16) -> Result<Ok, Error> {
661
0
                self.erased_serialize_u16(v)
662
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_u16
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_u16
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_u16
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_u16
663
664
0
            fn serialize_u32(self, v: u32) -> Result<Ok, Error> {
665
0
                self.erased_serialize_u32(v)
666
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_u32
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_u32
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_u32
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_u32
667
668
0
            fn serialize_u64(self, v: u64) -> Result<Ok, Error> {
669
0
                self.erased_serialize_u64(v)
670
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_u64
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_u64
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_u64
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_u64
671
672
0
            fn serialize_u128(self, v: u128) -> Result<Ok, Error> {
673
0
                self.erased_serialize_u128(v)
674
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_u128
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_u128
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_u128
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_u128
675
676
0
            fn serialize_f32(self, v: f32) -> Result<Ok, Error> {
677
0
                self.erased_serialize_f32(v)
678
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_f32
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_f32
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_f32
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_f32
679
680
0
            fn serialize_f64(self, v: f64) -> Result<Ok, Error> {
681
0
                self.erased_serialize_f64(v)
682
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_f64
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_f64
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_f64
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_f64
683
684
0
            fn serialize_char(self, v: char) -> Result<Ok, Error> {
685
0
                self.erased_serialize_char(v)
686
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_char
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_char
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_char
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_char
687
688
0
            fn serialize_str(self, v: &str) -> Result<Ok, Error> {
689
0
                self.erased_serialize_str(v)
690
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_str
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_str
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_str
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_str
691
692
0
            fn serialize_bytes(self, v: &[u8]) -> Result<Ok, Error> {
693
0
                self.erased_serialize_bytes(v)
694
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_bytes
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_bytes
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_bytes
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_bytes
695
696
0
            fn serialize_none(self) -> Result<Ok, Error> {
697
0
                self.erased_serialize_none()
698
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_none
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_none
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_none
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_none
699
700
0
            fn serialize_some<T>(self, v: &T) -> Result<Ok, Error>
701
0
            where
702
0
                T: ?Sized + serde::Serialize,
703
0
            {
704
0
                self.erased_serialize_some(&v)
705
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_some::<dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_some::<_>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_some::<_>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_some::<_>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_some::<_>
706
707
0
            fn serialize_unit(self) -> Result<Ok, Error> {
708
0
                self.erased_serialize_unit()
709
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_unit
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_unit
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_unit
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_unit
710
711
0
            fn serialize_unit_struct(self, name: &'static str) -> Result<Ok, Error> {
712
0
                self.erased_serialize_unit_struct(name)
713
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_unit_struct
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_unit_struct
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_unit_struct
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_unit_struct
714
715
0
            fn serialize_unit_variant(
716
0
                self,
717
0
                name: &'static str,
718
0
                variant_index: u32,
719
0
                variant: &'static str,
720
0
            ) -> Result<Ok, Error> {
721
0
                self.erased_serialize_unit_variant(name, variant_index, variant)
722
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_unit_variant
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_unit_variant
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_unit_variant
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_unit_variant
723
724
0
            fn serialize_newtype_struct<T>(self, name: &'static str, v: &T) -> Result<Ok, Error>
725
0
            where
726
0
                T: ?Sized + serde::Serialize,
727
0
            {
728
0
                self.erased_serialize_newtype_struct(name, &v)
729
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_newtype_struct::<dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_newtype_struct::<_>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_newtype_struct::<_>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_newtype_struct::<_>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_newtype_struct::<_>
730
731
0
            fn serialize_newtype_variant<T>(
732
0
                self,
733
0
                name: &'static str,
734
0
                variant_index: u32,
735
0
                variant: &'static str,
736
0
                v: &T,
737
0
            ) -> Result<Ok, Error>
738
0
            where
739
0
                T: ?Sized + serde::Serialize,
740
0
            {
741
0
                self.erased_serialize_newtype_variant(name, variant_index, variant, &v)
742
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_newtype_variant::<dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_newtype_variant::<_>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_newtype_variant::<_>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_newtype_variant::<_>
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_newtype_variant::<_>
743
744
0
            fn serialize_seq(self, len: Option<usize>) -> Result<Seq<'a>, Error> {
745
0
                self.erased_serialize_seq(len)
746
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_seq
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_seq
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_seq
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_seq
747
748
0
            fn serialize_tuple(self, len: usize) -> Result<Tuple<'a>, Error> {
749
0
                self.erased_serialize_tuple(len)
750
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_tuple
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_tuple
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_tuple
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_tuple
751
752
0
            fn serialize_tuple_struct(
753
0
                self,
754
0
                name: &'static str,
755
0
                len: usize,
756
0
            ) -> Result<TupleStruct<'a>, Error> {
757
0
                self.erased_serialize_tuple_struct(name, len)
758
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_tuple_struct
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_tuple_struct
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_tuple_struct
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_tuple_struct
759
760
0
            fn serialize_tuple_variant(
761
0
                self,
762
0
                name: &'static str,
763
0
                variant_index: u32,
764
0
                variant: &'static str,
765
0
                len: usize,
766
0
            ) -> Result<TupleVariant<'a>, Error> {
767
0
                self.erased_serialize_tuple_variant(name, variant_index, variant, len)
768
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_tuple_variant
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_tuple_variant
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_tuple_variant
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_tuple_variant
769
770
0
            fn serialize_map(self, len: Option<usize>) -> Result<Map<'a>, Error> {
771
0
                self.erased_serialize_map(len)
772
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_map
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_map
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_map
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_map
773
774
0
            fn serialize_struct(self, name: &'static str, len: usize) -> Result<Struct<'a>, Error> {
775
0
                self.erased_serialize_struct(name, len)
776
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_struct
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_struct
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_struct
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_struct
777
778
0
            fn serialize_struct_variant(
779
0
                self,
780
0
                name: &'static str,
781
0
                variant_index: u32,
782
0
                variant: &'static str,
783
0
                len: usize,
784
0
            ) -> Result<StructVariant<'a>, Error> {
785
0
                self.erased_serialize_struct_variant(name, variant_index, variant, len)
786
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::serialize_struct_variant
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::serialize_struct_variant
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::serialize_struct_variant
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::serialize_struct_variant
787
788
            #[cfg(not(any(feature = "std", feature = "alloc")))]
789
            fn collect_str<T>(self, value: &T) -> Result<Self::Ok, Self::Error>
790
            where
791
                T: ?Sized + Display,
792
            {
793
                unreachable!()
794
            }
795
796
0
            fn is_human_readable(&self) -> bool {
797
0
                self.erased_is_human_readable()
798
0
            }
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as serde::ser::Serializer>::is_human_readable
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as serde::ser::Serializer>::is_human_readable
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as serde::ser::Serializer>::is_human_readable
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as serde::ser::Serializer>::is_human_readable
799
        }
800
    };
801
}
802
803
impl_serializer_for_trait_object!(&'a mut (dyn Serializer + '_));
804
impl_serializer_for_trait_object!(&'a mut (dyn Serializer + Send + '_));
805
impl_serializer_for_trait_object!(&'a mut (dyn Serializer + Sync + '_));
806
impl_serializer_for_trait_object!(&'a mut (dyn Serializer + Send + Sync + '_));
807
808
pub struct Seq<'a> {
809
    data: Any,
810
    serialize_element: unsafe fn(&mut Any, &dyn Serialize) -> Result<(), Error>,
811
    end: unsafe fn(Any) -> Result<Ok, Error>,
812
    lifetime: PhantomData<&'a dyn Serializer>,
813
}
814
815
impl<'a> Seq<'a> {
816
0
    unsafe fn new<T>(data: T) -> Self
817
0
    where
818
0
        T: serde::ser::SerializeSeq,
819
0
    {
820
0
        Seq {
821
0
            data: unsafe { Any::new(data) },
822
0
            serialize_element: {
823
0
                unsafe fn serialize_element<T>(
824
0
                    data: &mut Any,
825
0
                    v: &dyn Serialize,
826
0
                ) -> Result<(), Error>
827
0
                where
828
0
                    T: serde::ser::SerializeSeq,
829
0
                {
830
0
                    unsafe { data.view::<T>().serialize_element(v).map_err(erase) }
831
0
                }
Unexecuted instantiation: <erased_serde::ser::Seq>::new::serialize_element::<erased_serde::ser::Seq>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::serialize_element::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::serialize_element::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::serialize_element::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::serialize_element::<serde_json::value::ser::SerializeVec>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::serialize_element::<_>
832
0
                serialize_element::<T>
833
0
            },
834
0
            end: {
835
0
                unsafe fn end<T>(data: Any) -> Result<Ok, Error>
836
0
                where
837
0
                    T: serde::ser::SerializeSeq,
838
0
                {
839
0
                    unsafe { data.take::<T>().end().unsafe_map(Ok::new).map_err(erase) }
840
0
                }
Unexecuted instantiation: <erased_serde::ser::Seq>::new::end::<erased_serde::ser::Seq>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::end::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::end::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::end::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::end::<serde_json::value::ser::SerializeVec>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::end::<_>
841
0
                end::<T>
842
0
            },
843
0
            lifetime: PhantomData,
844
0
        }
845
0
    }
Unexecuted instantiation: <erased_serde::ser::Seq>::new::<erased_serde::ser::Seq>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::<serde_json::value::ser::SerializeVec>
Unexecuted instantiation: <erased_serde::ser::Seq>::new::<_>
846
}
847
848
impl<'a> SerializeSeq for Seq<'a> {
849
    type Ok = Ok;
850
    type Error = Error;
851
852
0
    fn serialize_element<T>(&mut self, value: &T) -> Result<(), Error>
853
0
    where
854
0
        T: ?Sized + serde::Serialize,
855
0
    {
856
0
        unsafe { (self.serialize_element)(&mut self.data, &value) }
857
0
    }
Unexecuted instantiation: <erased_serde::ser::Seq as serde::ser::SerializeSeq>::serialize_element::<dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <erased_serde::ser::Seq as serde::ser::SerializeSeq>::serialize_element::<&starlark::values::layout::value::Value>
Unexecuted instantiation: <erased_serde::ser::Seq as serde::ser::SerializeSeq>::serialize_element::<_>
858
859
0
    fn end(self) -> Result<Ok, Error> {
860
0
        unsafe { (self.end)(self.data) }
861
0
    }
862
}
863
864
pub struct Tuple<'a> {
865
    data: Any,
866
    serialize_element: unsafe fn(&mut Any, &dyn Serialize) -> Result<(), Error>,
867
    end: unsafe fn(Any) -> Result<Ok, Error>,
868
    lifetime: PhantomData<&'a dyn Serializer>,
869
}
870
871
impl<'a> Tuple<'a> {
872
0
    unsafe fn new<T>(data: T) -> Self
873
0
    where
874
0
        T: serde::ser::SerializeTuple,
875
0
    {
876
0
        Tuple {
877
0
            data: unsafe { Any::new(data) },
878
0
            serialize_element: {
879
0
                unsafe fn serialize_element<T>(
880
0
                    data: &mut Any,
881
0
                    v: &dyn Serialize,
882
0
                ) -> Result<(), Error>
883
0
                where
884
0
                    T: serde::ser::SerializeTuple,
885
0
                {
886
0
                    unsafe { data.view::<T>().serialize_element(v).map_err(erase) }
887
0
                }
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::serialize_element::<erased_serde::ser::Tuple>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::serialize_element::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::serialize_element::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::serialize_element::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::serialize_element::<serde_json::value::ser::SerializeVec>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::serialize_element::<_>
888
0
                serialize_element::<T>
889
0
            },
890
0
            end: {
891
0
                unsafe fn end<T>(data: Any) -> Result<Ok, Error>
892
0
                where
893
0
                    T: serde::ser::SerializeTuple,
894
0
                {
895
0
                    unsafe { data.take::<T>().end().unsafe_map(Ok::new).map_err(erase) }
896
0
                }
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::end::<erased_serde::ser::Tuple>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::end::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::end::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::end::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::end::<serde_json::value::ser::SerializeVec>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::end::<_>
897
0
                end::<T>
898
0
            },
899
0
            lifetime: PhantomData,
900
0
        }
901
0
    }
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::<erased_serde::ser::Tuple>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::<serde_json::value::ser::SerializeVec>
Unexecuted instantiation: <erased_serde::ser::Tuple>::new::<_>
902
}
903
904
impl<'a> SerializeTuple for Tuple<'a> {
905
    type Ok = Ok;
906
    type Error = Error;
907
908
0
    fn serialize_element<T>(&mut self, value: &T) -> Result<(), Error>
909
0
    where
910
0
        T: ?Sized + serde::Serialize,
911
0
    {
912
0
        unsafe { (self.serialize_element)(&mut self.data, &value) }
913
0
    }
Unexecuted instantiation: <erased_serde::ser::Tuple as serde::ser::SerializeTuple>::serialize_element::<dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <erased_serde::ser::Tuple as serde::ser::SerializeTuple>::serialize_element::<starlark::values::layout::value::FrozenValue>
Unexecuted instantiation: <erased_serde::ser::Tuple as serde::ser::SerializeTuple>::serialize_element::<starlark::values::layout::value::Value>
Unexecuted instantiation: <erased_serde::ser::Tuple as serde::ser::SerializeTuple>::serialize_element::<_>
914
915
0
    fn end(self) -> Result<Ok, Error> {
916
0
        unsafe { (self.end)(self.data) }
917
0
    }
918
}
919
920
pub struct TupleStruct<'a> {
921
    data: Any,
922
    serialize_field: unsafe fn(&mut Any, &dyn Serialize) -> Result<(), Error>,
923
    end: unsafe fn(Any) -> Result<Ok, Error>,
924
    lifetime: PhantomData<&'a dyn Serializer>,
925
}
926
927
impl<'a> TupleStruct<'a> {
928
0
    unsafe fn new<T>(data: T) -> Self
929
0
    where
930
0
        T: serde::ser::SerializeTupleStruct,
931
0
    {
932
0
        TupleStruct {
933
0
            data: unsafe { Any::new(data) },
934
0
            serialize_field: {
935
0
                unsafe fn serialize_field<T>(data: &mut Any, v: &dyn Serialize) -> Result<(), Error>
936
0
                where
937
0
                    T: serde::ser::SerializeTupleStruct,
938
0
                {
939
0
                    unsafe { data.view::<T>().serialize_field(v).map_err(erase) }
940
0
                }
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::serialize_field::<erased_serde::ser::TupleStruct>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::serialize_field::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::serialize_field::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::serialize_field::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::serialize_field::<serde_json::value::ser::SerializeVec>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::serialize_field::<_>
941
0
                serialize_field::<T>
942
0
            },
943
0
            end: {
944
0
                unsafe fn end<T>(data: Any) -> Result<Ok, Error>
945
0
                where
946
0
                    T: serde::ser::SerializeTupleStruct,
947
0
                {
948
0
                    unsafe { data.take::<T>().end().unsafe_map(Ok::new).map_err(erase) }
949
0
                }
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::end::<erased_serde::ser::TupleStruct>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::end::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::end::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::end::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::end::<serde_json::value::ser::SerializeVec>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::end::<_>
950
0
                end::<T>
951
0
            },
952
0
            lifetime: PhantomData,
953
0
        }
954
0
    }
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::<erased_serde::ser::TupleStruct>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::<serde_json::value::ser::SerializeVec>
Unexecuted instantiation: <erased_serde::ser::TupleStruct>::new::<_>
955
}
956
957
impl<'a> SerializeTupleStruct for TupleStruct<'a> {
958
    type Ok = Ok;
959
    type Error = Error;
960
961
0
    fn serialize_field<T>(&mut self, value: &T) -> Result<(), Error>
962
0
    where
963
0
        T: ?Sized + serde::Serialize,
964
0
    {
965
0
        unsafe { (self.serialize_field)(&mut self.data, &value) }
966
0
    }
Unexecuted instantiation: <erased_serde::ser::TupleStruct as serde::ser::SerializeTupleStruct>::serialize_field::<dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <erased_serde::ser::TupleStruct as serde::ser::SerializeTupleStruct>::serialize_field::<_>
967
968
0
    fn end(self) -> Result<Ok, Error> {
969
0
        unsafe { (self.end)(self.data) }
970
0
    }
971
}
972
973
pub struct TupleVariant<'a> {
974
    data: Any,
975
    serialize_field: unsafe fn(&mut Any, &dyn Serialize) -> Result<(), Error>,
976
    end: unsafe fn(Any) -> Result<Ok, Error>,
977
    lifetime: PhantomData<&'a dyn Serializer>,
978
}
979
980
impl<'a> TupleVariant<'a> {
981
0
    unsafe fn new<T>(data: T) -> Self
982
0
    where
983
0
        T: serde::ser::SerializeTupleVariant,
984
0
    {
985
0
        TupleVariant {
986
0
            data: unsafe { Any::new(data) },
987
0
            serialize_field: {
988
0
                unsafe fn serialize_field<T>(data: &mut Any, v: &dyn Serialize) -> Result<(), Error>
989
0
                where
990
0
                    T: serde::ser::SerializeTupleVariant,
991
0
                {
992
0
                    unsafe { data.view::<T>().serialize_field(v).map_err(erase) }
993
0
                }
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::serialize_field::<erased_serde::ser::TupleVariant>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::serialize_field::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::serialize_field::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::serialize_field::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::serialize_field::<serde_json::value::ser::SerializeTupleVariant>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::serialize_field::<_>
994
0
                serialize_field::<T>
995
0
            },
996
0
            end: {
997
0
                unsafe fn end<T>(data: Any) -> Result<Ok, Error>
998
0
                where
999
0
                    T: serde::ser::SerializeTupleVariant,
1000
0
                {
1001
0
                    unsafe { data.take::<T>().end().unsafe_map(Ok::new).map_err(erase) }
1002
0
                }
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::end::<erased_serde::ser::TupleVariant>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::end::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::end::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::end::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::end::<serde_json::value::ser::SerializeTupleVariant>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::end::<_>
1003
0
                end::<T>
1004
0
            },
1005
0
            lifetime: PhantomData,
1006
0
        }
1007
0
    }
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::<erased_serde::ser::TupleVariant>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::<serde_json::value::ser::SerializeTupleVariant>
Unexecuted instantiation: <erased_serde::ser::TupleVariant>::new::<_>
1008
}
1009
1010
impl<'a> SerializeTupleVariant for TupleVariant<'a> {
1011
    type Ok = Ok;
1012
    type Error = Error;
1013
1014
0
    fn serialize_field<T>(&mut self, value: &T) -> Result<(), Error>
1015
0
    where
1016
0
        T: ?Sized + serde::Serialize,
1017
0
    {
1018
0
        unsafe { (self.serialize_field)(&mut self.data, &value) }
1019
0
    }
Unexecuted instantiation: <erased_serde::ser::TupleVariant as serde::ser::SerializeTupleVariant>::serialize_field::<dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <erased_serde::ser::TupleVariant as serde::ser::SerializeTupleVariant>::serialize_field::<_>
1020
1021
0
    fn end(self) -> Result<Ok, Error> {
1022
0
        unsafe { (self.end)(self.data) }
1023
0
    }
1024
}
1025
1026
pub struct Map<'a> {
1027
    data: Any,
1028
    serialize_key: unsafe fn(&mut Any, &dyn Serialize) -> Result<(), Error>,
1029
    serialize_value: unsafe fn(&mut Any, &dyn Serialize) -> Result<(), Error>,
1030
    serialize_entry: unsafe fn(&mut Any, &dyn Serialize, &dyn Serialize) -> Result<(), Error>,
1031
    end: unsafe fn(Any) -> Result<Ok, Error>,
1032
    lifetime: PhantomData<&'a dyn Serializer>,
1033
}
1034
1035
impl<'a> Map<'a> {
1036
0
    unsafe fn new<T>(data: T) -> Self
1037
0
    where
1038
0
        T: serde::ser::SerializeMap,
1039
0
    {
1040
0
        Map {
1041
0
            data: unsafe { Any::new(data) },
1042
0
            serialize_key: {
1043
0
                unsafe fn serialize_key<T>(data: &mut Any, v: &dyn Serialize) -> Result<(), Error>
1044
0
                where
1045
0
                    T: serde::ser::SerializeMap,
1046
0
                {
1047
0
                    unsafe { data.view::<T>().serialize_key(v).map_err(erase) }
1048
0
                }
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_key::<erased_serde::ser::Map>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_key::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_key::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_key::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_key::<serde_json::value::ser::SerializeMap>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_key::<_>
1049
0
                serialize_key::<T>
1050
0
            },
1051
0
            serialize_value: {
1052
0
                unsafe fn serialize_value<T>(data: &mut Any, v: &dyn Serialize) -> Result<(), Error>
1053
0
                where
1054
0
                    T: serde::ser::SerializeMap,
1055
0
                {
1056
0
                    unsafe { data.view::<T>().serialize_value(v).map_err(erase) }
1057
0
                }
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_value::<erased_serde::ser::Map>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_value::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_value::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_value::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_value::<serde_json::value::ser::SerializeMap>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_value::<_>
1058
0
                serialize_value::<T>
1059
0
            },
1060
0
            serialize_entry: {
1061
0
                unsafe fn serialize_entry<T>(
1062
0
                    data: &mut Any,
1063
0
                    k: &dyn Serialize,
1064
0
                    v: &dyn Serialize,
1065
0
                ) -> Result<(), Error>
1066
0
                where
1067
0
                    T: serde::ser::SerializeMap,
1068
0
                {
1069
0
                    unsafe { data.view::<T>().serialize_entry(k, v).map_err(erase) }
1070
0
                }
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_entry::<erased_serde::ser::Map>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_entry::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_entry::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_entry::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_entry::<serde_json::value::ser::SerializeMap>
Unexecuted instantiation: <erased_serde::ser::Map>::new::serialize_entry::<_>
1071
0
                serialize_entry::<T>
1072
0
            },
1073
0
            end: {
1074
0
                unsafe fn end<T>(data: Any) -> Result<Ok, Error>
1075
0
                where
1076
0
                    T: serde::ser::SerializeMap,
1077
0
                {
1078
0
                    unsafe { data.take::<T>().end().unsafe_map(Ok::new).map_err(erase) }
1079
0
                }
Unexecuted instantiation: <erased_serde::ser::Map>::new::end::<erased_serde::ser::Map>
Unexecuted instantiation: <erased_serde::ser::Map>::new::end::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::end::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::end::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::end::<serde_json::value::ser::SerializeMap>
Unexecuted instantiation: <erased_serde::ser::Map>::new::end::<_>
1080
0
                end::<T>
1081
0
            },
1082
0
            lifetime: PhantomData,
1083
0
        }
1084
0
    }
Unexecuted instantiation: <erased_serde::ser::Map>::new::<erased_serde::ser::Map>
Unexecuted instantiation: <erased_serde::ser::Map>::new::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Map>::new::<serde_json::value::ser::SerializeMap>
Unexecuted instantiation: <erased_serde::ser::Map>::new::<_>
1085
}
1086
1087
impl<'a> SerializeMap for Map<'a> {
1088
    type Ok = Ok;
1089
    type Error = Error;
1090
1091
0
    fn serialize_key<T>(&mut self, key: &T) -> Result<(), Error>
1092
0
    where
1093
0
        T: ?Sized + serde::Serialize,
1094
0
    {
1095
0
        unsafe { (self.serialize_key)(&mut self.data, &key) }
1096
0
    }
Unexecuted instantiation: <erased_serde::ser::Map as serde::ser::SerializeMap>::serialize_key::<dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <erased_serde::ser::Map as serde::ser::SerializeMap>::serialize_key::<_>
1097
1098
0
    fn serialize_value<T>(&mut self, value: &T) -> Result<(), Error>
1099
0
    where
1100
0
        T: ?Sized + serde::Serialize,
1101
0
    {
1102
0
        unsafe { (self.serialize_value)(&mut self.data, &value) }
1103
0
    }
Unexecuted instantiation: <erased_serde::ser::Map as serde::ser::SerializeMap>::serialize_value::<dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <erased_serde::ser::Map as serde::ser::SerializeMap>::serialize_value::<_>
1104
1105
0
    fn serialize_entry<K, V>(&mut self, key: &K, value: &V) -> Result<(), Error>
1106
0
    where
1107
0
        K: ?Sized + serde::Serialize,
1108
0
        V: ?Sized + serde::Serialize,
1109
0
    {
1110
0
        unsafe { (self.serialize_entry)(&mut self.data, &key, &value) }
1111
0
    }
Unexecuted instantiation: <erased_serde::ser::Map as serde::ser::SerializeMap>::serialize_entry::<dyn erased_serde::ser::Serialize, dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <erased_serde::ser::Map as serde::ser::SerializeMap>::serialize_entry::<starlark::values::layout::typed::ValueTyped<starlark::values::types::string::str_type::StarlarkStr>, starlark::values::layout::value::FrozenValue>
Unexecuted instantiation: <erased_serde::ser::Map as serde::ser::SerializeMap>::serialize_entry::<starlark::values::layout::typed::ValueTyped<starlark::values::types::string::str_type::StarlarkStr>, starlark::values::layout::value::Value>
Unexecuted instantiation: <erased_serde::ser::Map as serde::ser::SerializeMap>::serialize_entry::<&starlark::values::layout::value::Value, &starlark::values::layout::value::Value>
Unexecuted instantiation: <erased_serde::ser::Map as serde::ser::SerializeMap>::serialize_entry::<&str, starlark::values::layout::value::FrozenValue>
Unexecuted instantiation: <erased_serde::ser::Map as serde::ser::SerializeMap>::serialize_entry::<&str, starlark::values::layout::value::Value>
Unexecuted instantiation: <erased_serde::ser::Map as serde::ser::SerializeMap>::serialize_entry::<_, _>
1112
1113
0
    fn end(self) -> Result<Ok, Error> {
1114
0
        unsafe { (self.end)(self.data) }
1115
0
    }
1116
}
1117
1118
pub struct Struct<'a> {
1119
    data: Any,
1120
    serialize_field: unsafe fn(&mut Any, &'static str, &dyn Serialize) -> Result<(), Error>,
1121
    end: unsafe fn(Any) -> Result<Ok, Error>,
1122
    lifetime: PhantomData<&'a dyn Serializer>,
1123
}
1124
1125
impl<'a> Struct<'a> {
1126
0
    unsafe fn new<T>(data: T) -> Self
1127
0
    where
1128
0
        T: serde::ser::SerializeStruct,
1129
0
    {
1130
0
        Struct {
1131
0
            data: unsafe { Any::new(data) },
1132
0
            serialize_field: {
1133
0
                unsafe fn serialize_field<T>(
1134
0
                    data: &mut Any,
1135
0
                    k: &'static str,
1136
0
                    v: &dyn Serialize,
1137
0
                ) -> Result<(), Error>
1138
0
                where
1139
0
                    T: serde::ser::SerializeStruct,
1140
0
                {
1141
0
                    unsafe { data.view::<T>().serialize_field(k, v).map_err(erase) }
1142
0
                }
Unexecuted instantiation: <erased_serde::ser::Struct>::new::serialize_field::<erased_serde::ser::Struct>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::serialize_field::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::serialize_field::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::serialize_field::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::serialize_field::<serde_json::value::ser::SerializeMap>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::serialize_field::<_>
1143
0
                serialize_field::<T>
1144
0
            },
1145
0
            end: {
1146
0
                unsafe fn end<T>(data: Any) -> Result<Ok, Error>
1147
0
                where
1148
0
                    T: serde::ser::SerializeStruct,
1149
0
                {
1150
0
                    unsafe { data.take::<T>().end().unsafe_map(Ok::new).map_err(erase) }
1151
0
                }
Unexecuted instantiation: <erased_serde::ser::Struct>::new::end::<erased_serde::ser::Struct>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::end::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::end::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::end::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::end::<serde_json::value::ser::SerializeMap>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::end::<_>
1152
0
                end::<T>
1153
0
            },
1154
0
            lifetime: PhantomData,
1155
0
        }
1156
0
    }
Unexecuted instantiation: <erased_serde::ser::Struct>::new::<erased_serde::ser::Struct>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::<serde_json::value::ser::SerializeMap>
Unexecuted instantiation: <erased_serde::ser::Struct>::new::<_>
1157
}
1158
1159
impl<'a> SerializeStruct for Struct<'a> {
1160
    type Ok = Ok;
1161
    type Error = Error;
1162
1163
0
    fn serialize_field<T>(&mut self, name: &'static str, field: &T) -> Result<(), Error>
1164
0
    where
1165
0
        T: ?Sized + serde::Serialize,
1166
0
    {
1167
0
        unsafe { (self.serialize_field)(&mut self.data, name, &field) }
1168
0
    }
Unexecuted instantiation: <erased_serde::ser::Struct as serde::ser::SerializeStruct>::serialize_field::<dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <erased_serde::ser::Struct as serde::ser::SerializeStruct>::serialize_field::<_>
1169
1170
0
    fn end(self) -> Result<Ok, Error> {
1171
0
        unsafe { (self.end)(self.data) }
1172
0
    }
1173
}
1174
1175
pub struct StructVariant<'a> {
1176
    data: Any,
1177
    serialize_field: unsafe fn(&mut Any, &'static str, &dyn Serialize) -> Result<(), Error>,
1178
    end: unsafe fn(Any) -> Result<Ok, Error>,
1179
    lifetime: PhantomData<&'a dyn Serializer>,
1180
}
1181
1182
impl<'a> StructVariant<'a> {
1183
0
    unsafe fn new<T>(data: T) -> Self
1184
0
    where
1185
0
        T: serde::ser::SerializeStructVariant,
1186
0
    {
1187
0
        StructVariant {
1188
0
            data: unsafe { Any::new(data) },
1189
0
            serialize_field: {
1190
0
                unsafe fn serialize_field<T>(
1191
0
                    data: &mut Any,
1192
0
                    k: &'static str,
1193
0
                    v: &dyn Serialize,
1194
0
                ) -> Result<(), Error>
1195
0
                where
1196
0
                    T: serde::ser::SerializeStructVariant,
1197
0
                {
1198
0
                    unsafe { data.view::<T>().serialize_field(k, v).map_err(erase) }
1199
0
                }
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::serialize_field::<erased_serde::ser::StructVariant>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::serialize_field::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::serialize_field::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::serialize_field::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::serialize_field::<serde_json::value::ser::SerializeStructVariant>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::serialize_field::<_>
1200
0
                serialize_field::<T>
1201
0
            },
1202
0
            end: {
1203
0
                unsafe fn end<T>(data: Any) -> Result<Ok, Error>
1204
0
                where
1205
0
                    T: serde::ser::SerializeStructVariant,
1206
0
                {
1207
0
                    unsafe { data.take::<T>().end().unsafe_map(Ok::new).map_err(erase) }
1208
0
                }
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::end::<erased_serde::ser::StructVariant>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::end::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::end::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::end::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::end::<serde_json::value::ser::SerializeStructVariant>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::end::<_>
1209
0
                end::<T>
1210
0
            },
1211
0
            lifetime: PhantomData,
1212
0
        }
1213
0
    }
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::<erased_serde::ser::StructVariant>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::<serde_json::ser::Compound<&mut alloc::vec::Vec<u8>, serde_json::ser::CompactFormatter>>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::<serde::ser::impossible::Impossible<alloc::string::String, serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::<serde::ser::impossible::Impossible<(), serde_json::error::Error>>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::<serde_json::value::ser::SerializeStructVariant>
Unexecuted instantiation: <erased_serde::ser::StructVariant>::new::<_>
1214
}
1215
1216
impl<'a> SerializeStructVariant for StructVariant<'a> {
1217
    type Ok = Ok;
1218
    type Error = Error;
1219
1220
0
    fn serialize_field<T>(&mut self, name: &'static str, field: &T) -> Result<(), Error>
1221
0
    where
1222
0
        T: ?Sized + serde::Serialize,
1223
0
    {
1224
0
        unsafe { (self.serialize_field)(&mut self.data, name, &field) }
1225
0
    }
Unexecuted instantiation: <erased_serde::ser::StructVariant as serde::ser::SerializeStructVariant>::serialize_field::<dyn erased_serde::ser::Serialize>
Unexecuted instantiation: <erased_serde::ser::StructVariant as serde::ser::SerializeStructVariant>::serialize_field::<_>
1226
1227
0
    fn end(self) -> Result<Ok, Error> {
1228
0
        unsafe { (self.end)(self.data) }
1229
0
    }
1230
}
1231
1232
// IMPL ERASED SERDE FOR ERASED SERDE //////////////////////////////////////////
1233
1234
macro_rules! deref_erased_serializer {
1235
    ($($imp:tt)+) => {
1236
        impl $($imp)+ {
1237
0
            fn erased_serialize_bool(&mut self, v: bool) -> Result<Ok, Error> {
1238
0
                (**self).erased_serialize_bool(v)
1239
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_bool
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_bool
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_bool
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_bool
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_bool
1240
1241
0
            fn erased_serialize_i8(&mut self, v: i8) -> Result<Ok, Error> {
1242
0
                (**self).erased_serialize_i8(v)
1243
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i8
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_i8
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_i8
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_i8
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_i8
1244
1245
0
            fn erased_serialize_i16(&mut self, v: i16) -> Result<Ok, Error> {
1246
0
                (**self).erased_serialize_i16(v)
1247
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i16
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_i16
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_i16
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_i16
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_i16
1248
1249
0
            fn erased_serialize_i32(&mut self, v: i32) -> Result<Ok, Error> {
1250
0
                (**self).erased_serialize_i32(v)
1251
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i32
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_i32
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_i32
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_i32
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_i32
1252
1253
0
            fn erased_serialize_i64(&mut self, v: i64) -> Result<Ok, Error> {
1254
0
                (**self).erased_serialize_i64(v)
1255
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i64
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_i64
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_i64
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_i64
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_i64
1256
1257
0
            fn erased_serialize_i128(&mut self, v: i128) -> Result<Ok, Error> {
1258
0
                (**self).erased_serialize_i128(v)
1259
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_i128
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_i128
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_i128
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_i128
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_i128
1260
1261
0
            fn erased_serialize_u8(&mut self, v: u8) -> Result<Ok, Error> {
1262
0
                (**self).erased_serialize_u8(v)
1263
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u8
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_u8
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_u8
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_u8
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_u8
1264
1265
0
            fn erased_serialize_u16(&mut self, v: u16) -> Result<Ok, Error> {
1266
0
                (**self).erased_serialize_u16(v)
1267
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u16
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_u16
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_u16
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_u16
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_u16
1268
1269
0
            fn erased_serialize_u32(&mut self, v: u32) -> Result<Ok, Error> {
1270
0
                (**self).erased_serialize_u32(v)
1271
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u32
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_u32
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_u32
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_u32
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_u32
1272
1273
0
            fn erased_serialize_u64(&mut self, v: u64) -> Result<Ok, Error> {
1274
0
                (**self).erased_serialize_u64(v)
1275
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u64
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_u64
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_u64
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_u64
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_u64
1276
1277
0
            fn erased_serialize_u128(&mut self, v: u128) -> Result<Ok, Error> {
1278
0
                (**self).erased_serialize_u128(v)
1279
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_u128
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_u128
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_u128
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_u128
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_u128
1280
1281
0
            fn erased_serialize_f32(&mut self, v: f32) -> Result<Ok, Error> {
1282
0
                (**self).erased_serialize_f32(v)
1283
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_f32
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_f32
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_f32
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_f32
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_f32
1284
1285
0
            fn erased_serialize_f64(&mut self, v: f64) -> Result<Ok, Error> {
1286
0
                (**self).erased_serialize_f64(v)
1287
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_f64
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_f64
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_f64
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_f64
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_f64
1288
1289
0
            fn erased_serialize_char(&mut self, v: char) -> Result<Ok, Error> {
1290
0
                (**self).erased_serialize_char(v)
1291
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_char
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_char
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_char
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_char
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_char
1292
1293
0
            fn erased_serialize_str(&mut self, v: &str) -> Result<Ok, Error> {
1294
0
                (**self).erased_serialize_str(v)
1295
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_str
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_str
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_str
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_str
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_str
1296
1297
0
            fn erased_serialize_bytes(&mut self, v: &[u8]) -> Result<Ok, Error> {
1298
0
                (**self).erased_serialize_bytes(v)
1299
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_bytes
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_bytes
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_bytes
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_bytes
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_bytes
1300
1301
0
            fn erased_serialize_none(&mut self) -> Result<Ok, Error> {
1302
0
                (**self).erased_serialize_none()
1303
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_none
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_none
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_none
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_none
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_none
1304
1305
0
            fn erased_serialize_some(&mut self, v: &dyn Serialize) -> Result<Ok, Error> {
1306
0
                (**self).erased_serialize_some(v)
1307
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_some
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_some
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_some
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_some
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_some
1308
1309
0
            fn erased_serialize_unit(&mut self) -> Result<Ok, Error> {
1310
0
                (**self).erased_serialize_unit()
1311
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_unit
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_unit
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_unit
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_unit
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_unit
1312
1313
0
            fn erased_serialize_unit_struct(&mut self, name: &'static str) -> Result<Ok, Error> {
1314
0
                (**self).erased_serialize_unit_struct(name)
1315
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_unit_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_unit_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_unit_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_unit_struct
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_unit_struct
1316
1317
0
            fn erased_serialize_unit_variant(&mut self, name: &'static str, variant_index: u32, variant: &'static str) -> Result<Ok, Error> {
1318
0
                (**self).erased_serialize_unit_variant(name, variant_index, variant)
1319
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_unit_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_unit_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_unit_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_unit_variant
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_unit_variant
1320
1321
0
            fn erased_serialize_newtype_struct(&mut self, name: &'static str, v: &dyn Serialize) -> Result<Ok, Error> {
1322
0
                (**self).erased_serialize_newtype_struct(name, v)
1323
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_newtype_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_newtype_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_newtype_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_newtype_struct
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_newtype_struct
1324
1325
0
            fn erased_serialize_newtype_variant(&mut self, name: &'static str, variant_index: u32, variant: &'static str, v: &dyn Serialize) -> Result<Ok, Error> {
1326
0
                (**self).erased_serialize_newtype_variant(name, variant_index, variant, v)
1327
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_newtype_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_newtype_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_newtype_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_newtype_variant
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_newtype_variant
1328
1329
0
            fn erased_serialize_seq(&mut self, len: Option<usize>) -> Result<Seq, Error> {
1330
0
                (**self).erased_serialize_seq(len)
1331
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_seq
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_seq
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_seq
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_seq
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_seq
1332
1333
0
            fn erased_serialize_tuple(&mut self, len: usize) -> Result<Tuple, Error> {
1334
0
                (**self).erased_serialize_tuple(len)
1335
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_tuple
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_tuple
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_tuple
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_tuple
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_tuple
1336
1337
0
            fn erased_serialize_tuple_struct(&mut self, name: &'static str, len: usize) -> Result<TupleStruct, Error> {
1338
0
                (**self).erased_serialize_tuple_struct(name, len)
1339
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_tuple_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_tuple_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_tuple_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_tuple_struct
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_tuple_struct
1340
1341
0
            fn erased_serialize_tuple_variant(&mut self, name: &'static str, variant_index: u32, variant: &'static str, len: usize) -> Result<TupleVariant, Error> {
1342
0
                (**self).erased_serialize_tuple_variant(name, variant_index, variant, len)
1343
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_tuple_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_tuple_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_tuple_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_tuple_variant
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_tuple_variant
1344
1345
0
            fn erased_serialize_map(&mut self, len: Option<usize>) -> Result<Map, Error> {
1346
0
                (**self).erased_serialize_map(len)
1347
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_map
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_map
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_map
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_map
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_map
1348
1349
0
            fn erased_serialize_struct(&mut self, name: &'static str, len: usize) -> Result<Struct, Error> {
1350
0
                (**self).erased_serialize_struct(name, len)
1351
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_struct
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_struct
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_struct
1352
1353
0
            fn erased_serialize_struct_variant(&mut self, name: &'static str, variant_index: u32, variant: &'static str, len: usize) -> Result<StructVariant, Error> {
1354
0
                (**self).erased_serialize_struct_variant(name, variant_index, variant, len)
1355
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_serialize_struct_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_serialize_struct_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_struct_variant
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_serialize_struct_variant
Unexecuted instantiation: <&mut _ as erased_serde::ser::Serializer>::erased_serialize_struct_variant
1356
1357
0
            fn erased_is_human_readable(&self) -> bool {
1358
0
                (**self).erased_is_human_readable()
1359
0
            }
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer> as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send> as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Sync> as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <alloc::boxed::Box<dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync> as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Send + core::marker::Sync as erased_serde::ser::Serializer>::erased_is_human_readable
Unexecuted instantiation: <&mut dyn erased_serde::ser::Serializer + core::marker::Sync as erased_serde::ser::Serializer>::erased_is_human_readable
1360
        }
1361
    };
1362
}
1363
1364
deref_erased_serializer!(<'a> Serializer for Box<dyn Serializer + 'a>);
1365
deref_erased_serializer!(<'a> Serializer for Box<dyn Serializer + Send + 'a>);
1366
deref_erased_serializer!(<'a> Serializer for Box<dyn Serializer + Sync + 'a>);
1367
deref_erased_serializer!(<'a> Serializer for Box<dyn Serializer + Send + Sync + 'a>);
1368
deref_erased_serializer!(<'a, T: ?Sized + Serializer> Serializer for &'a mut T);
1369
1370
// ERROR ///////////////////////////////////////////////////////////////////////
1371
1372
0
fn erase<E>(e: E) -> Error
1373
0
where
1374
0
    E: Display,
1375
0
{
1376
0
    serde::ser::Error::custom(e)
1377
0
}
Unexecuted instantiation: erased_serde::ser::erase::<erased_serde::error::Error>
Unexecuted instantiation: erased_serde::ser::erase::<serde_json::error::Error>
Unexecuted instantiation: erased_serde::ser::erase::<_>
1378
1379
0
fn unerase<E>(e: Error) -> E
1380
0
where
1381
0
    E: serde::ser::Error,
1382
0
{
1383
0
    E::custom(e)
1384
0
}
Unexecuted instantiation: erased_serde::ser::unerase::<erased_serde::error::Error>
Unexecuted instantiation: erased_serde::ser::unerase::<serde_json::error::Error>
Unexecuted instantiation: erased_serde::ser::unerase::<_>
1385
1386
// TEST ////////////////////////////////////////////////////////////////////////
1387
1388
#[cfg(test)]
1389
mod tests {
1390
    use super::*;
1391
    use crate::alloc::{vec, Vec};
1392
    use serde_derive::Serialize;
1393
1394
    fn test_json<T>(t: T)
1395
    where
1396
        T: serde::Serialize,
1397
    {
1398
        let expected = serde_json::to_vec(&t).unwrap();
1399
1400
        // test borrowed trait object
1401
        {
1402
            let obj: &dyn Serialize = &t;
1403
1404
            let mut buf = Vec::new();
1405
1406
            {
1407
                let mut ser = serde_json::Serializer::new(&mut buf);
1408
                let ser: &mut dyn Serializer = &mut <dyn Serializer>::erase(&mut ser);
1409
1410
                obj.erased_serialize(ser).unwrap();
1411
            }
1412
1413
            assert_eq!(buf, expected);
1414
        }
1415
1416
        // test boxed trait object
1417
        {
1418
            let obj: Box<dyn Serialize> = Box::new(t);
1419
1420
            let mut buf = Vec::new();
1421
1422
            {
1423
                let mut ser = serde_json::Serializer::new(&mut buf);
1424
                let mut ser: Box<dyn Serializer> = Box::new(<dyn Serializer>::erase(&mut ser));
1425
1426
                obj.erased_serialize(&mut ser).unwrap();
1427
            }
1428
1429
            assert_eq!(buf, expected);
1430
        }
1431
    }
1432
1433
    #[test]
1434
    fn test_vec() {
1435
        test_json(vec!["a", "b"]);
1436
    }
1437
1438
    #[test]
1439
    fn test_struct() {
1440
        #[derive(Serialize)]
1441
        struct S {
1442
            f: usize,
1443
        }
1444
1445
        test_json(S { f: 256 });
1446
    }
1447
1448
    #[test]
1449
    fn test_enum() {
1450
        #[derive(Serialize)]
1451
        enum E {
1452
            Unit,
1453
            Newtype(bool),
1454
            Tuple(bool, bool),
1455
            Struct { t: bool, f: bool },
1456
        }
1457
1458
        test_json(E::Unit);
1459
        test_json(E::Newtype(true));
1460
        test_json(E::Tuple(true, false));
1461
        test_json(E::Struct { t: true, f: false });
1462
    }
1463
1464
    #[test]
1465
    fn assert_serialize() {
1466
        fn assert<T: serde::Serialize>() {}
1467
1468
        assert::<&dyn Serialize>();
1469
        assert::<&(dyn Serialize + Send)>();
1470
        assert::<&(dyn Serialize + Sync)>();
1471
        assert::<&(dyn Serialize + Send + Sync)>();
1472
        assert::<&(dyn Serialize + Sync + Send)>();
1473
        assert::<Vec<&dyn Serialize>>();
1474
        assert::<Vec<&(dyn Serialize + Send)>>();
1475
1476
        assert::<Box<dyn Serialize>>();
1477
        assert::<Box<dyn Serialize + Send>>();
1478
        assert::<Box<dyn Serialize + Sync>>();
1479
        assert::<Box<dyn Serialize + Send + Sync>>();
1480
        assert::<Box<dyn Serialize + Sync + Send>>();
1481
        assert::<Vec<Box<dyn Serialize>>>();
1482
        assert::<Vec<Box<dyn Serialize + Send>>>();
1483
    }
1484
1485
    #[test]
1486
    fn assert_serializer() {
1487
        fn assert<T: serde::Serializer>() {}
1488
1489
        assert::<&mut dyn Serializer>();
1490
        assert::<&mut (dyn Serializer + Send)>();
1491
        assert::<&mut (dyn Serializer + Sync)>();
1492
        assert::<&mut (dyn Serializer + Send + Sync)>();
1493
        assert::<&mut (dyn Serializer + Sync + Send)>();
1494
    }
1495
}