diff --git a/serde/src/private/de.rs b/serde/src/private/de.rs index c30cc7373..881b1a5b4 100644 --- a/serde/src/private/de.rs +++ b/serde/src/private/de.rs @@ -212,7 +212,7 @@ mod content { use crate::de::value::{MapDeserializer, SeqDeserializer}; use crate::de::{ self, size_hint, Deserialize, DeserializeSeed, Deserializer, EnumAccess, Expected, - IgnoredAny, MapAccess, SeqAccess, Unexpected, Visitor, + IgnoredAny, MapAccess, SeqAccess, Unexpected, VariantAccess, Visitor, }; /// Used from generated code to buffer the contents of the Deserializer when @@ -529,12 +529,14 @@ mod content { where V: EnumAccess<'de>, { - use crate::de::VariantAccess; let (key, data) = tri!(visitor.variant::()); - Ok(Content::Map(vec![( - Content::String(key), - tri!(data.newtype_variant::()), - )])) + Ok(Content::Map( + [( + Content::String(key), + tri!(data.newtype_variant::()), + )] + .into(), + )) } }