diff --git a/serde/src/private/de.rs b/serde/src/private/de.rs
index 7cb3152d..10c2709b 100644
--- a/serde/src/private/de.rs
+++ b/serde/src/private/de.rs
@@ -269,6 +269,14 @@ mod content {
}
impl<'de> Content<'de> {
+ pub fn as_str(&self) -> Option<&str> {
+ match *self {
+ Content::Str(x) => Some(x),
+ Content::String(ref x) => Some(x.as_str()),
+ _ => None,
+ }
+ }
+
fn unexpected(&self) -> Unexpected {
match *self {
Content::Bool(b) => Unexpected::Bool(b),
@@ -2073,7 +2081,7 @@ where
#[cfg(any(feature = "std", feature = "alloc"))]
pub struct FlatMapDeserializer<'a, 'de: 'a, E>(
- pub &'a mut Vec