mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-12 22:31:02 +00:00
IntoDeserializer for HashSet and HashMap with non-default hasher
This commit is contained in:
@@ -754,12 +754,13 @@ where
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "std")]
|
#[cfg(feature = "std")]
|
||||||
impl<'de, T, E> IntoDeserializer<'de, E> for HashSet<T>
|
impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
|
||||||
where
|
where
|
||||||
T: IntoDeserializer<'de, E> + Eq + Hash,
|
T: IntoDeserializer<'de, E> + Eq + Hash,
|
||||||
|
S: BuildHasher,
|
||||||
E: de::Error,
|
E: de::Error,
|
||||||
{
|
{
|
||||||
type Deserializer = SeqDeserializer<<HashSet<T> as IntoIterator>::IntoIter, E>;
|
type Deserializer = SeqDeserializer<<HashSet<T, S> as IntoIterator>::IntoIter, E>;
|
||||||
|
|
||||||
fn into_deserializer(self) -> Self::Deserializer {
|
fn into_deserializer(self) -> Self::Deserializer {
|
||||||
SeqDeserializer::new(self.into_iter())
|
SeqDeserializer::new(self.into_iter())
|
||||||
@@ -1160,13 +1161,14 @@ where
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "std")]
|
#[cfg(feature = "std")]
|
||||||
impl<'de, K, V, E> IntoDeserializer<'de, E> for HashMap<K, V>
|
impl<'de, K, V, S, E> IntoDeserializer<'de, E> for HashMap<K, V, S>
|
||||||
where
|
where
|
||||||
K: IntoDeserializer<'de, E> + Eq + Hash,
|
K: IntoDeserializer<'de, E> + Eq + Hash,
|
||||||
V: IntoDeserializer<'de, E>,
|
V: IntoDeserializer<'de, E>,
|
||||||
|
S: BuildHasher,
|
||||||
E: de::Error,
|
E: de::Error,
|
||||||
{
|
{
|
||||||
type Deserializer = MapDeserializer<'de, <HashMap<K, V> as IntoIterator>::IntoIter, E>;
|
type Deserializer = MapDeserializer<'de, <HashMap<K, V, S> as IntoIterator>::IntoIter, E>;
|
||||||
|
|
||||||
fn into_deserializer(self) -> Self::Deserializer {
|
fn into_deserializer(self) -> Self::Deserializer {
|
||||||
MapDeserializer::new(self.into_iter())
|
MapDeserializer::new(self.into_iter())
|
||||||
|
|||||||
Reference in New Issue
Block a user