Update serde_test to 1.0.177
Test: m
Change-Id: Ie1b53069e95a645c863d03ef18123d9142397c2b
diff --git a/crates/serde_test/.android-checksum.json b/crates/serde_test/.android-checksum.json
index a5fae98..52a5611 100644
--- a/crates/serde_test/.android-checksum.json
+++ b/crates/serde_test/.android-checksum.json
@@ -1 +1 @@
-{"package":null,"files":{".cargo-checksum.json":"365d228d0e5a5b8eb8346321482412db3b6bdce0a22b89945792728e2f65568d","src/lib.rs":"44bd875d156399721562320b65152500702bcfd284c9b5d9242541621492e8c1","patches/LICENSE.patch":"59883a4fee89006584fe40eb5f89378e03639d1f8ee430b63d194b517dfdf3c9","LICENSE-MIT":"38620a3cfaeec97a9197e8c39e436ea7f0bc86699b1f1c35f1aa41785b6d4eac","LICENSE-APACHE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","src/token.rs":"7d207f06c6c31fd7fed1df5797f0034c52c4ae302f0b64e7fc0ce5d0707479c8","src/ser.rs":"a2d850b2c1622d8cf90327332040e8543a01da3e7524e87c06dbcf924438ea86","src/assert.rs":"0e285ca07004440d0ba1101b36284293736306e1541670cb5877e24040413520","MODULE_LICENSE_APACHE2":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","METADATA":"e91fa9d23f4cd493e1864c1897e3f463d71a55740b6355b1eea6909e6e424329","Android.bp":"0826b7c52203c849b52c13ec13e3e0c858cb96857a4643b513f007fde5a0447a","TEST_MAPPING":"edcdd0ec7656910f74cd53b8521f27bd4b71c14819b62203dfe8ecb5e077c193","LICENSE":"dbad074de85b9acdef286ecb796ce96cc60af388a2b9484f94c22d6de6730202","src/configure.rs":"e66407fd3e801afb9792958de46551bb20836a5f8bd426ecf2e91dd4fed1b62a","README.md":"50d78f8b76a1a29b662e665e3b163c50ccc7fc29460580b3c65d70d636dd6427","src/de.rs":"a34d498405495b235f3cb20dc948d8f5d31fa10995b29f14863a78042a2da956","Cargo.toml":"56f418313bd38c0d72643cef33ac45ea05143929830a551ce79b42d841cc788e","src/error.rs":"be05a75fd8da8d3714c88146346e95f3fc0ffbca0b4220de6fa3c7d0b6a09dae","cargo_embargo.json":"aa45a963da01d3f018be316cd5b7646a5b413ce2611c5218f2914d2e8a9efd0e"}}
\ No newline at end of file
+{"package":null,"files":{"src/configure.rs":"45071d0e471c873d978689aff58d8fe8c0e476d4942edb8f3447f4d4c23c9c27","LICENSE":"dbad074de85b9acdef286ecb796ce96cc60af388a2b9484f94c22d6de6730202","Android.bp":"51e302e19922c3a1fa160de59a3c4bef24637cc771d8c049d35746ed49fd75fe","METADATA":"258572b43a1742c112c5ea6c6c5830306237b3f9d2b81d440df672684c9f60e3","cargo_embargo.json":"aa45a963da01d3f018be316cd5b7646a5b413ce2611c5218f2914d2e8a9efd0e","src/token.rs":"7d207f06c6c31fd7fed1df5797f0034c52c4ae302f0b64e7fc0ce5d0707479c8","TEST_MAPPING":"edcdd0ec7656910f74cd53b8521f27bd4b71c14819b62203dfe8ecb5e077c193",".cargo-checksum.json":"a7031583b2c52259da59a03287a1c99938fd0e2d9526d604ee1b9689568721ca","src/ser.rs":"255cfe60194421abcb69b6c18c6c9ef56dd379652c8543801501abb637e4acaa","LICENSE-APACHE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","README.md":"50d78f8b76a1a29b662e665e3b163c50ccc7fc29460580b3c65d70d636dd6427","src/error.rs":"be05a75fd8da8d3714c88146346e95f3fc0ffbca0b4220de6fa3c7d0b6a09dae","MODULE_LICENSE_APACHE2":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","patches/LICENSE.patch":"59883a4fee89006584fe40eb5f89378e03639d1f8ee430b63d194b517dfdf3c9","LICENSE-MIT":"38620a3cfaeec97a9197e8c39e436ea7f0bc86699b1f1c35f1aa41785b6d4eac","src/assert.rs":"d0253c20d94120e0867e63e5ee4c9d110b172b1c18c0bd4b7e0508995011bb67","src/lib.rs":"d9ec08d8b295cfa6fc534a7da199a74e234995232bc97c4e5bf65fa839419bc6","src/de.rs":"a34d498405495b235f3cb20dc948d8f5d31fa10995b29f14863a78042a2da956","Cargo.toml":"635af5a6e0322a14c4cc40e56204201e357720ce7609db4da68c79ceab48f017"}}
\ No newline at end of file
diff --git a/crates/serde_test/.cargo-checksum.json b/crates/serde_test/.cargo-checksum.json
index 95e1483..f3bcc92 100644
--- a/crates/serde_test/.cargo-checksum.json
+++ b/crates/serde_test/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"25303ae8f76378fb8a644f03e5e0d9adaaa33c359d6e6d001447e7f500111e8f","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"9acf439902ff6520eb54d7636fdbdb7f892b003a6ea4f530d63d48dc2f16af2c","src/assert.rs":"cfd019751ca9e31234ce73f13bf56ee30b0f2223209aacd23738a8c330349199","src/configure.rs":"bf870f78b7cd3013ed695bcc54f87586c4ac074aadd6243e6e98a55563f714a8","src/de.rs":"a5984f8adb4d100bb003fbc909890bf71c0efd52ba10a58497589f03c889f3fd","src/error.rs":"ebd762e36fcf0e43a2c455d74c2a80f62ecdaaa552d5364d1a185302de42c7de","src/lib.rs":"414b5309d2c1a23fb20a171607e73ed6686c9e7f79b4a3bab184008821a323a2","src/ser.rs":"65bb66df51ae2e3c6c25204c37e00a1a285e86a294a9f97b2f95933c2d4f8a2a","src/token.rs":"aefb6742960cda0ad6d6f5955349eb1b903b4e506d3bcb973411f60d6db8af92"},"package":"5a2f49ace1498612d14f7e0b8245519584db8299541dfe31a06374a828d620ab"}
\ No newline at end of file
+{"files":{"Cargo.toml":"9ec585089a6c3323bb8df93bd5d0fe599652e5de62dea26cf8eb993d45e80ff8","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"9acf439902ff6520eb54d7636fdbdb7f892b003a6ea4f530d63d48dc2f16af2c","src/assert.rs":"342ed46389411cee3da29996716a0639926a76177b41de035da8b5f824929b0f","src/configure.rs":"aa1739a4bf59e27cc44bea280d627a45ea285ebeea00bfbaac741fbb6c1772e1","src/de.rs":"a5984f8adb4d100bb003fbc909890bf71c0efd52ba10a58497589f03c889f3fd","src/error.rs":"ebd762e36fcf0e43a2c455d74c2a80f62ecdaaa552d5364d1a185302de42c7de","src/lib.rs":"a2191566b198681a89e33b0d617208cd3bf9567c1cf8c013e5e0669ac7650589","src/ser.rs":"853e13d120f047b7225ed69696be24747280f0c91817eca6b0172f8cb5305127","src/token.rs":"aefb6742960cda0ad6d6f5955349eb1b903b4e506d3bcb973411f60d6db8af92"},"package":"7f901ee573cab6b3060453d2d5f0bae4e6d628c23c0a962ff9b5f1d7c8d4f1ed"}
\ No newline at end of file
diff --git a/crates/serde_test/Android.bp b/crates/serde_test/Android.bp
index 3faaa7f..c3b1095 100644
--- a/crates/serde_test/Android.bp
+++ b/crates/serde_test/Android.bp
@@ -18,7 +18,7 @@
host_supported: true,
crate_name: "serde_test",
cargo_env_compat: true,
- cargo_pkg_version: "1.0.176",
+ cargo_pkg_version: "1.0.177",
crate_root: "src/lib.rs",
edition: "2021",
rustlibs: ["libserde"],
diff --git a/crates/serde_test/Cargo.toml b/crates/serde_test/Cargo.toml
index c0a6c39..17d26bc 100644
--- a/crates/serde_test/Cargo.toml
+++ b/crates/serde_test/Cargo.toml
@@ -13,11 +13,16 @@
edition = "2021"
rust-version = "1.56"
name = "serde_test"
-version = "1.0.176"
+version = "1.0.177"
authors = [
"Erick Tryzelaar <erick.tryzelaar@gmail.com>",
"David Tolnay <dtolnay@gmail.com>",
]
+build = false
+autobins = false
+autoexamples = false
+autotests = false
+autobenches = false
description = "Token De/Serializer for testing De/Serialize implementations"
documentation = "https://docs.rs/serde_test"
readme = "README.md"
@@ -36,6 +41,8 @@
targets = ["x86_64-unknown-linux-gnu"]
[lib]
+name = "serde_test"
+path = "src/lib.rs"
doc-scrape-examples = false
[dependencies.serde]
diff --git a/crates/serde_test/METADATA b/crates/serde_test/METADATA
index 957e8da..f76a2ac 100644
--- a/crates/serde_test/METADATA
+++ b/crates/serde_test/METADATA
@@ -1,17 +1,17 @@
name: "serde_test"
description: "Token De/Serializer for testing De/Serialize implementations"
third_party {
- version: "1.0.176"
+ version: "1.0.177"
license_type: NOTICE
last_upgrade_date {
year: 2024
- month: 2
- day: 5
+ month: 12
+ day: 20
}
homepage: "https://crates.io/crates/serde_test"
identifier {
type: "Archive"
- value: "https://static.crates.io/crates/serde_test/serde_test-1.0.176.crate"
- version: "1.0.176"
+ value: "https://static.crates.io/crates/serde_test/serde_test-1.0.177.crate"
+ version: "1.0.177"
}
}
diff --git a/crates/serde_test/src/assert.rs b/crates/serde_test/src/assert.rs
index bbdafd9..24e3c08 100644
--- a/crates/serde_test/src/assert.rs
+++ b/crates/serde_test/src/assert.rs
@@ -29,7 +29,7 @@
/// ],
/// );
/// ```
-#[cfg_attr(not(no_track_caller), track_caller)]
+#[track_caller]
pub fn assert_tokens<'de, T>(value: &T, tokens: &'de [Token])
where
T: Serialize + Deserialize<'de> + PartialEq + Debug,
@@ -63,14 +63,14 @@
/// ],
/// );
/// ```
-#[cfg_attr(not(no_track_caller), track_caller)]
-pub fn assert_ser_tokens<T: ?Sized>(value: &T, tokens: &[Token])
+#[track_caller]
+pub fn assert_ser_tokens<T>(value: &T, tokens: &[Token])
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
let mut ser = Serializer::new(tokens);
match value.serialize(&mut ser) {
- Ok(_) => {}
+ Ok(()) => {}
Err(err) => panic!("value failed to serialize: {}", err),
}
@@ -121,14 +121,14 @@
/// assert_ser_tokens_error(&example, expected, error);
/// }
/// ```
-#[cfg_attr(not(no_track_caller), track_caller)]
-pub fn assert_ser_tokens_error<T: ?Sized>(value: &T, tokens: &[Token], error: &str)
+#[track_caller]
+pub fn assert_ser_tokens_error<T>(value: &T, tokens: &[Token], error: &str)
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
let mut ser = Serializer::new(tokens);
match value.serialize(&mut ser) {
- Ok(_) => panic!("value serialized successfully"),
+ Ok(()) => panic!("value serialized successfully"),
Err(e) => assert_eq!(e, *error),
}
@@ -162,7 +162,7 @@
/// ],
/// );
/// ```
-#[cfg_attr(not(no_track_caller), track_caller)]
+#[track_caller]
pub fn assert_de_tokens<'de, T>(value: &T, tokens: &'de [Token])
where
T: Deserialize<'de> + PartialEq + Debug,
@@ -215,7 +215,7 @@
/// "unknown field `x`, expected `a` or `b`",
/// );
/// ```
-#[cfg_attr(not(no_track_caller), track_caller)]
+#[track_caller]
pub fn assert_de_tokens_error<'de, T>(tokens: &'de [Token], error: &str)
where
T: Deserialize<'de>,
diff --git a/crates/serde_test/src/configure.rs b/crates/serde_test/src/configure.rs
index 9b10370..dc54d4d 100644
--- a/crates/serde_test/src/configure.rs
+++ b/crates/serde_test/src/configure.rs
@@ -6,7 +6,7 @@
Serialize, SerializeMap, SerializeSeq, SerializeStruct, SerializeStructVariant, SerializeTuple,
SerializeTupleStruct, SerializeTupleVariant, Serializer,
};
-use std::fmt;
+use std::fmt::{self, Display};
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord)]
pub struct Readable<T: ?Sized>(T);
@@ -86,11 +86,11 @@
}
}
-impl<T: ?Sized> Configure for T {}
+impl<T> Configure for T where T: ?Sized {}
-impl<T: ?Sized> Serialize for Readable<T>
+impl<T> Serialize for Readable<T>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
#[inline]
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
@@ -100,9 +100,10 @@
self.0.serialize(Readable(serializer))
}
}
-impl<T: ?Sized> Serialize for Compact<T>
+
+impl<T> Serialize for Compact<T>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
#[inline]
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
@@ -112,6 +113,7 @@
self.0.serialize(Compact(serializer))
}
}
+
impl<'de, T> Deserialize<'de> for Readable<T>
where
T: Deserialize<'de>,
@@ -122,7 +124,15 @@
{
T::deserialize(Readable(deserializer)).map(Readable)
}
+
+ fn deserialize_in_place<D>(deserializer: D, place: &mut Self) -> Result<(), D::Error>
+ where
+ D: Deserializer<'de>,
+ {
+ T::deserialize_in_place(Readable(deserializer), &mut place.0)
+ }
}
+
impl<'de, T> Deserialize<'de> for Compact<T>
where
T: Deserialize<'de>,
@@ -133,6 +143,13 @@
{
T::deserialize(Compact(deserializer)).map(Compact)
}
+
+ fn deserialize_in_place<D>(deserializer: D, place: &mut Self) -> Result<(), D::Error>
+ where
+ D: Deserializer<'de>,
+ {
+ T::deserialize_in_place(Compact(deserializer), &mut place.0)
+ }
}
impl<'de, T> DeserializeSeed<'de> for Readable<T>
@@ -148,6 +165,7 @@
self.0.deserialize(Readable(deserializer))
}
}
+
impl<'de, T> DeserializeSeed<'de> for Compact<T>
where
T: DeserializeSeed<'de>,
@@ -205,17 +223,18 @@
serialize_i16 i16,
serialize_i32 i32,
serialize_i64 i64,
+ serialize_i128 i128,
serialize_u8 u8,
serialize_u16 u16,
serialize_u32 u32,
serialize_u64 u64,
+ serialize_u128 u128,
serialize_f32 f32,
serialize_f64 f64,
serialize_char char,
serialize_str &str,
serialize_bytes &[u8],
serialize_unit_struct &'static str
-
}
fn serialize_unit(self) -> Result<S::Ok, S::Error> {
@@ -231,18 +250,18 @@
self.0.serialize_unit_variant(name, variant_index, variant)
}
- fn serialize_newtype_struct<T: ?Sized>(
+ fn serialize_newtype_struct<T>(
self,
name: &'static str,
value: &T,
) -> Result<S::Ok, S::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
self.0.serialize_newtype_struct(name, &$wrapper(value))
}
- fn serialize_newtype_variant<T: ?Sized>(
+ fn serialize_newtype_variant<T>(
self,
name: &'static str,
variant_index: u32,
@@ -250,7 +269,7 @@
value: &T,
) -> Result<S::Ok, S::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
self.0
.serialize_newtype_variant(name, variant_index, variant, &$wrapper(value))
@@ -260,9 +279,9 @@
self.0.serialize_none()
}
- fn serialize_some<T: ?Sized>(self, value: &T) -> Result<S::Ok, Self::Error>
+ fn serialize_some<T>(self, value: &T) -> Result<S::Ok, Self::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
self.0.serialize_some(&$wrapper(value))
}
@@ -318,6 +337,34 @@
.serialize_struct_variant(name, variant_index, variant, len)
.map($wrapper)
}
+
+ fn collect_seq<I>(self, iter: I) -> Result<Self::Ok, Self::Error>
+ where
+ I: IntoIterator,
+ <I as IntoIterator>::Item: Serialize,
+ {
+ self.0
+ .collect_seq(iter.into_iter().map(|item| $wrapper(item)))
+ }
+
+ fn collect_map<K, V, I>(self, iter: I) -> Result<Self::Ok, Self::Error>
+ where
+ K: Serialize,
+ V: Serialize,
+ I: IntoIterator<Item = (K, V)>,
+ {
+ self.0.collect_map(
+ iter.into_iter()
+ .map(|(key, value)| ($wrapper(key), $wrapper(value))),
+ )
+ }
+
+ fn collect_str<T>(self, value: &T) -> Result<Self::Ok, Self::Error>
+ where
+ T: ?Sized + Display,
+ {
+ self.0.collect_str(value)
+ }
}
impl<S> SerializeSeq for $wrapper<S>
@@ -326,12 +373,14 @@
{
type Ok = S::Ok;
type Error = S::Error;
- fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), S::Error>
+
+ fn serialize_element<T>(&mut self, value: &T) -> Result<(), S::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
self.0.serialize_element(&$wrapper(value))
}
+
fn end(self) -> Result<S::Ok, S::Error> {
self.0.end()
}
@@ -343,12 +392,14 @@
{
type Ok = S::Ok;
type Error = S::Error;
- fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), S::Error>
+
+ fn serialize_element<T>(&mut self, value: &T) -> Result<(), S::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
self.0.serialize_element(&$wrapper(value))
}
+
fn end(self) -> Result<S::Ok, S::Error> {
self.0.end()
}
@@ -360,12 +411,14 @@
{
type Ok = S::Ok;
type Error = S::Error;
- fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), S::Error>
+
+ fn serialize_field<T>(&mut self, value: &T) -> Result<(), S::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
self.0.serialize_field(&$wrapper(value))
}
+
fn end(self) -> Result<S::Ok, S::Error> {
self.0.end()
}
@@ -377,12 +430,14 @@
{
type Ok = S::Ok;
type Error = S::Error;
- fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), S::Error>
+
+ fn serialize_field<T>(&mut self, value: &T) -> Result<(), S::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
self.0.serialize_field(&$wrapper(value))
}
+
fn end(self) -> Result<S::Ok, S::Error> {
self.0.end()
}
@@ -394,29 +449,29 @@
{
type Ok = S::Ok;
type Error = S::Error;
- fn serialize_key<T: ?Sized>(&mut self, key: &T) -> Result<(), S::Error>
+
+ fn serialize_key<T>(&mut self, key: &T) -> Result<(), S::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
self.0.serialize_key(&$wrapper(key))
}
- fn serialize_value<T: ?Sized>(&mut self, value: &T) -> Result<(), S::Error>
+
+ fn serialize_value<T>(&mut self, value: &T) -> Result<(), S::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
self.0.serialize_value(&$wrapper(value))
}
- fn serialize_entry<K: ?Sized, V: ?Sized>(
- &mut self,
- key: &K,
- value: &V,
- ) -> Result<(), S::Error>
+
+ fn serialize_entry<K, V>(&mut self, key: &K, value: &V) -> Result<(), S::Error>
where
- K: Serialize,
- V: Serialize,
+ K: ?Sized + Serialize,
+ V: ?Sized + Serialize,
{
- self.0.serialize_entry(key, &$wrapper(value))
+ self.0.serialize_entry(&$wrapper(key), &$wrapper(value))
}
+
fn end(self) -> Result<S::Ok, S::Error> {
self.0.end()
}
@@ -428,16 +483,18 @@
{
type Ok = S::Ok;
type Error = S::Error;
- fn serialize_field<T: ?Sized>(
- &mut self,
- name: &'static str,
- field: &T,
- ) -> Result<(), S::Error>
+
+ fn serialize_field<T>(&mut self, name: &'static str, field: &T) -> Result<(), S::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
self.0.serialize_field(name, &$wrapper(field))
}
+
+ fn skip_field(&mut self, key: &'static str) -> Result<(), Self::Error> {
+ self.0.skip_field(key)
+ }
+
fn end(self) -> Result<S::Ok, S::Error> {
self.0.end()
}
@@ -449,16 +506,18 @@
{
type Ok = S::Ok;
type Error = S::Error;
- fn serialize_field<T: ?Sized>(
- &mut self,
- name: &'static str,
- field: &T,
- ) -> Result<(), S::Error>
+
+ fn serialize_field<T>(&mut self, name: &'static str, field: &T) -> Result<(), S::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
self.0.serialize_field(name, &$wrapper(field))
}
+
+ fn skip_field(&mut self, key: &'static str) -> Result<(), Self::Error> {
+ self.0.skip_field(key)
+ }
+
fn end(self) -> Result<S::Ok, S::Error> {
self.0.end()
}
@@ -498,10 +557,12 @@
deserialize_u16,
deserialize_u32,
deserialize_u64,
+ deserialize_u128,
deserialize_i8,
deserialize_i16,
deserialize_i32,
deserialize_i64,
+ deserialize_i128,
deserialize_f32,
deserialize_f64,
deserialize_char,
@@ -528,6 +589,7 @@
{
self.0.deserialize_unit_struct(name, $wrapper(visitor))
}
+
fn deserialize_newtype_struct<V>(
self,
name: &'static str,
@@ -538,12 +600,14 @@
{
self.0.deserialize_newtype_struct(name, $wrapper(visitor))
}
+
fn deserialize_tuple<V>(self, len: usize, visitor: V) -> Result<V::Value, D::Error>
where
V: Visitor<'de>,
{
self.0.deserialize_tuple(len, $wrapper(visitor))
}
+
fn deserialize_tuple_struct<V>(
self,
name: &'static str,
@@ -556,6 +620,7 @@
self.0
.deserialize_tuple_struct(name, len, $wrapper(visitor))
}
+
fn deserialize_struct<V>(
self,
name: &'static str,
@@ -567,6 +632,7 @@
{
self.0.deserialize_struct(name, fields, $wrapper(visitor))
}
+
fn deserialize_enum<V>(
self,
name: &'static str,
@@ -589,153 +655,193 @@
D: Visitor<'de>,
{
type Value = D::Value;
+
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
self.0.expecting(formatter)
}
+
fn visit_bool<E>(self, v: bool) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_bool(v)
}
+
fn visit_i8<E>(self, v: i8) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_i8(v)
}
+
fn visit_i16<E>(self, v: i16) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_i16(v)
}
+
fn visit_i32<E>(self, v: i32) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_i32(v)
}
+
fn visit_i64<E>(self, v: i64) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_i64(v)
}
+
+ fn visit_i128<E>(self, v: i128) -> Result<D::Value, E>
+ where
+ E: Error,
+ {
+ self.0.visit_i128(v)
+ }
+
fn visit_u8<E>(self, v: u8) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_u8(v)
}
+
fn visit_u16<E>(self, v: u16) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_u16(v)
}
+
fn visit_u32<E>(self, v: u32) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_u32(v)
}
+
fn visit_u64<E>(self, v: u64) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_u64(v)
}
+
+ fn visit_u128<E>(self, v: u128) -> Result<D::Value, E>
+ where
+ E: Error,
+ {
+ self.0.visit_u128(v)
+ }
+
fn visit_f32<E>(self, v: f32) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_f32(v)
}
+
fn visit_f64<E>(self, v: f64) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_f64(v)
}
+
fn visit_char<E>(self, v: char) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_char(v)
}
+
fn visit_str<E>(self, v: &str) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_str(v)
}
+
fn visit_borrowed_str<E>(self, v: &'de str) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_borrowed_str(v)
}
+
fn visit_string<E>(self, v: String) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_string(v)
}
+
fn visit_bytes<E>(self, v: &[u8]) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_bytes(v)
}
+
fn visit_borrowed_bytes<E>(self, v: &'de [u8]) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_borrowed_bytes(v)
}
+
fn visit_byte_buf<E>(self, v: Vec<u8>) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_byte_buf(v)
}
+
fn visit_none<E>(self) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_none()
}
+
fn visit_some<D2>(self, deserializer: D2) -> Result<Self::Value, D2::Error>
where
D2: Deserializer<'de>,
{
self.0.visit_some($wrapper(deserializer))
}
+
fn visit_unit<E>(self) -> Result<D::Value, E>
where
E: Error,
{
self.0.visit_unit()
}
+
fn visit_newtype_struct<D2>(self, deserializer: D2) -> Result<Self::Value, D2::Error>
where
D2: Deserializer<'de>,
{
self.0.visit_newtype_struct($wrapper(deserializer))
}
+
fn visit_seq<V>(self, seq: V) -> Result<D::Value, V::Error>
where
V: SeqAccess<'de>,
{
self.0.visit_seq($wrapper(seq))
}
+
fn visit_map<V>(self, map: V) -> Result<D::Value, V::Error>
where
V: MapAccess<'de>,
{
self.0.visit_map($wrapper(map))
}
+
fn visit_enum<V>(self, data: V) -> Result<D::Value, V::Error>
where
V: EnumAccess<'de>,
@@ -749,12 +855,14 @@
D: SeqAccess<'de>,
{
type Error = D::Error;
+
fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, D::Error>
where
T: DeserializeSeed<'de>,
{
self.0.next_element_seed($wrapper(seed))
}
+
fn size_hint(&self) -> Option<usize> {
self.0.size_hint()
}
@@ -765,18 +873,21 @@
D: MapAccess<'de>,
{
type Error = D::Error;
+
fn next_key_seed<K>(&mut self, seed: K) -> Result<Option<K::Value>, D::Error>
where
K: DeserializeSeed<'de>,
{
self.0.next_key_seed($wrapper(seed))
}
+
fn next_value_seed<V>(&mut self, seed: V) -> Result<V::Value, D::Error>
where
V: DeserializeSeed<'de>,
{
self.0.next_value_seed($wrapper(seed))
}
+
fn next_entry_seed<K, V>(
&mut self,
kseed: K,
@@ -788,6 +899,7 @@
{
self.0.next_entry_seed($wrapper(kseed), $wrapper(vseed))
}
+
fn size_hint(&self) -> Option<usize> {
self.0.size_hint()
}
@@ -799,6 +911,7 @@
{
type Error = D::Error;
type Variant = $wrapper<D::Variant>;
+
fn variant_seed<V>(self, seed: V) -> Result<(V::Value, Self::Variant), Self::Error>
where
V: DeserializeSeed<'de>,
@@ -814,21 +927,25 @@
D: VariantAccess<'de>,
{
type Error = D::Error;
+
fn unit_variant(self) -> Result<(), D::Error> {
self.0.unit_variant()
}
+
fn newtype_variant_seed<T>(self, seed: T) -> Result<T::Value, D::Error>
where
T: DeserializeSeed<'de>,
{
self.0.newtype_variant_seed($wrapper(seed))
}
+
fn tuple_variant<V>(self, len: usize, visitor: V) -> Result<V::Value, D::Error>
where
V: Visitor<'de>,
{
self.0.tuple_variant(len, $wrapper(visitor))
}
+
fn struct_variant<V>(
self,
fields: &'static [&'static str],
diff --git a/crates/serde_test/src/lib.rs b/crates/serde_test/src/lib.rs
index 4e3a9f2..e935799 100644
--- a/crates/serde_test/src/lib.rs
+++ b/crates/serde_test/src/lib.rs
@@ -144,7 +144,7 @@
//! # }
//! ```
-#![doc(html_root_url = "https://docs.rs/serde_test/1.0.176")]
+#![doc(html_root_url = "https://docs.rs/serde_test/1.0.177")]
// Ignored clippy lints
#![allow(clippy::float_cmp, clippy::needless_doctest_main)]
// Ignored clippy_pedantic lints
diff --git a/crates/serde_test/src/ser.rs b/crates/serde_test/src/ser.rs
index c18a4ae..245bbe8 100644
--- a/crates/serde_test/src/ser.rs
+++ b/crates/serde_test/src/ser.rs
@@ -188,15 +188,15 @@
Ok(())
}
- fn serialize_newtype_struct<T: ?Sized>(self, name: &'static str, value: &T) -> Result<(), Error>
+ fn serialize_newtype_struct<T>(self, name: &'static str, value: &T) -> Result<(), Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
assert_next_token!(self, NewtypeStruct { name });
value.serialize(self)
}
- fn serialize_newtype_variant<T: ?Sized>(
+ fn serialize_newtype_variant<T>(
self,
name: &'static str,
_variant_index: u32,
@@ -204,7 +204,7 @@
value: &T,
) -> Result<(), Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
if self.tokens.first() == Some(&Token::Enum { name }) {
self.next_token();
@@ -220,9 +220,9 @@
Ok(())
}
- fn serialize_some<T: ?Sized>(self, value: &T) -> Result<(), Error>
+ fn serialize_some<T>(self, value: &T) -> Result<(), Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
assert_next_token!(self, Some);
value.serialize(self)
@@ -320,9 +320,9 @@
type Ok = ();
type Error = Error;
- fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), Error>
+ fn serialize_element<T>(&mut self, value: &T) -> Result<(), Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
value.serialize(&mut **self)
}
@@ -337,9 +337,9 @@
type Ok = ();
type Error = Error;
- fn serialize_element<T: ?Sized>(&mut self, value: &T) -> Result<(), Error>
+ fn serialize_element<T>(&mut self, value: &T) -> Result<(), Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
value.serialize(&mut **self)
}
@@ -354,9 +354,9 @@
type Ok = ();
type Error = Error;
- fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Error>
+ fn serialize_field<T>(&mut self, value: &T) -> Result<(), Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
value.serialize(&mut **self)
}
@@ -371,9 +371,9 @@
type Ok = ();
type Error = Error;
- fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Error>
+ fn serialize_field<T>(&mut self, value: &T) -> Result<(), Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
value.serialize(&mut *self.ser)
}
@@ -392,16 +392,16 @@
type Ok = ();
type Error = Error;
- fn serialize_key<T: ?Sized>(&mut self, key: &T) -> Result<(), Self::Error>
+ fn serialize_key<T>(&mut self, key: &T) -> Result<(), Self::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
key.serialize(&mut **self)
}
- fn serialize_value<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
+ fn serialize_value<T>(&mut self, value: &T) -> Result<(), Self::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
value.serialize(&mut **self)
}
@@ -416,13 +416,9 @@
type Ok = ();
type Error = Error;
- fn serialize_field<T: ?Sized>(
- &mut self,
- key: &'static str,
- value: &T,
- ) -> Result<(), Self::Error>
+ fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Result<(), Self::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
key.serialize(&mut **self)?;
value.serialize(&mut **self)
@@ -438,13 +434,9 @@
type Ok = ();
type Error = Error;
- fn serialize_field<T: ?Sized>(
- &mut self,
- key: &'static str,
- value: &T,
- ) -> Result<(), Self::Error>
+ fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Result<(), Self::Error>
where
- T: Serialize,
+ T: ?Sized + Serialize,
{
key.serialize(&mut *self.ser)?;
value.serialize(&mut *self.ser)
diff --git a/pseudo_crate/Cargo.lock b/pseudo_crate/Cargo.lock
index b4899c0..17a7f96 100644
--- a/pseudo_crate/Cargo.lock
+++ b/pseudo_crate/Cargo.lock
@@ -4723,9 +4723,9 @@
[[package]]
name = "serde_test"
-version = "1.0.176"
+version = "1.0.177"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a2f49ace1498612d14f7e0b8245519584db8299541dfe31a06374a828d620ab"
+checksum = "7f901ee573cab6b3060453d2d5f0bae4e6d628c23c0a962ff9b5f1d7c8d4f1ed"
dependencies = [
"serde",
]
diff --git a/pseudo_crate/Cargo.toml b/pseudo_crate/Cargo.toml
index 804693b..06040f1 100644
--- a/pseudo_crate/Cargo.toml
+++ b/pseudo_crate/Cargo.toml
@@ -294,7 +294,7 @@
serde_derive = "=1.0.195"
serde_json = "=1.0.94"
serde_spanned = "=0.6.8"
-serde_test = "=1.0.176"
+serde_test = "=1.0.177"
serde_yaml = "=0.9.32"
sharded-slab = "=0.1.7"
shared_child = "=1.0.0"