INNER CODE UNIT · Rust
deserialize
pamburus/hl · crates/enumset-serde/src/lib.rs:8
pub fn deserialize<'de, D, T: EnumSetType + de::Deserialize<'de>>(deserializer: D) -> Result<EnumSet<T>, D::Error>
where
D: de::Deserializer<'de>,
{
deserializer.deserialize_any(EnumSetDeserializer::default())
}
// ---
struct EnumSetDeserializer<T: EnumSetType>(EnumSet<T>);
impl<T: EnumSetType> Default for EnumSetDeserializer<T> {
fn default() -> Self {
Self(EnumSet::new())
}
}
impl<'de, T: EnumSetType + de::Deserialize<'de>> de::Visitor<'de> for EnumSetDeserializer<T> {