Lines Matching full:content
13 pub use self::content::{
14 Content, ContentDeserializer, ContentRefDeserializer, EnumDeserializer,
198 mod content { module
223 pub enum Content<'de> { enum
246 Some(Box<Content<'de>>),
249 Newtype(Box<Content<'de>>),
250 Seq(Vec<Content<'de>>),
251 Map(Vec<(Content<'de>, Content<'de>)>),
254 impl<'de> Content<'de> { implementation
257 Content::Str(x) => Some(x), in as_str()
258 Content::String(ref x) => Some(x), in as_str()
259 Content::Bytes(x) => str::from_utf8(x).ok(), in as_str()
260 Content::ByteBuf(ref x) => str::from_utf8(x).ok(), in as_str()
268 Content::Bool(b) => Unexpected::Bool(b), in unexpected()
269 Content::U8(n) => Unexpected::Unsigned(n as u64), in unexpected()
270 Content::U16(n) => Unexpected::Unsigned(n as u64), in unexpected()
271 Content::U32(n) => Unexpected::Unsigned(n as u64), in unexpected()
272 Content::U64(n) => Unexpected::Unsigned(n), in unexpected()
273 Content::I8(n) => Unexpected::Signed(n as i64), in unexpected()
274 Content::I16(n) => Unexpected::Signed(n as i64), in unexpected()
275 Content::I32(n) => Unexpected::Signed(n as i64), in unexpected()
276 Content::I64(n) => Unexpected::Signed(n), in unexpected()
277 Content::F32(f) => Unexpected::Float(f as f64), in unexpected()
278 Content::F64(f) => Unexpected::Float(f), in unexpected()
279 Content::Char(c) => Unexpected::Char(c), in unexpected()
280 Content::String(ref s) => Unexpected::Str(s), in unexpected()
281 Content::Str(s) => Unexpected::Str(s), in unexpected()
282 Content::ByteBuf(ref b) => Unexpected::Bytes(b), in unexpected()
283 Content::Bytes(b) => Unexpected::Bytes(b), in unexpected()
284 Content::None | Content::Some(_) => Unexpected::Option, in unexpected()
285 Content::Unit => Unexpected::Unit, in unexpected()
286 Content::Newtype(_) => Unexpected::NewtypeStruct, in unexpected()
287 Content::Seq(_) => Unexpected::Seq, in unexpected()
288 Content::Map(_) => Unexpected::Map, in unexpected()
293 impl<'de> Deserialize<'de> for Content<'de> { implementation
305 impl<'de, E> de::IntoDeserializer<'de, E> for Content<'de> implementation
316 impl<'a, 'de, E> de::IntoDeserializer<'de, E> for &'a Content<'de> implementation
327 /// Used to capture data in [`Content`] from other deserializers.
330 value: PhantomData<Content<'de>>,
340 type Value = Content<'de>;
350 Ok(Content::Bool(value)) in visit_bool()
357 Ok(Content::I8(value)) in visit_i8()
364 Ok(Content::I16(value)) in visit_i16()
371 Ok(Content::I32(value)) in visit_i32()
378 Ok(Content::I64(value)) in visit_i64()
385 Ok(Content::U8(value)) in visit_u8()
392 Ok(Content::U16(value)) in visit_u16()
399 Ok(Content::U32(value)) in visit_u32()
406 Ok(Content::U64(value)) in visit_u64()
413 Ok(Content::F32(value)) in visit_f32()
420 Ok(Content::F64(value)) in visit_f64()
427 Ok(Content::Char(value)) in visit_char()
434 Ok(Content::String(value.into())) in visit_str()
441 Ok(Content::Str(value)) in visit_borrowed_str()
448 Ok(Content::String(value)) in visit_string()
455 Ok(Content::ByteBuf(value.into())) in visit_bytes()
462 Ok(Content::Bytes(value)) in visit_borrowed_bytes()
469 Ok(Content::ByteBuf(value)) in visit_byte_buf()
476 Ok(Content::Unit) in visit_unit()
483 Ok(Content::None) in visit_none()
491 Ok(Content::Some(Box::new(v))) in visit_some()
499 Ok(Content::Newtype(Box::new(v))) in visit_newtype_struct()
507 Vec::<Content>::with_capacity(size_hint::cautious::<Content>(visitor.size_hint())); in visit_seq()
511 Ok(Content::Seq(vec)) in visit_seq()
519 Vec::<(Content, Content)>::with_capacity( in visit_map()
520 size_hint::cautious::<(Content, Content)>(visitor.size_hint()), in visit_map()
525 Ok(Content::Map(vec)) in visit_map()
543 Content(Content<'de>), enumerator
588 .map(TagOrContent::Content) in visit_bool()
597 .map(TagOrContent::Content) in visit_i8()
606 .map(TagOrContent::Content) in visit_i16()
615 .map(TagOrContent::Content) in visit_i32()
624 .map(TagOrContent::Content) in visit_i64()
633 .map(TagOrContent::Content) in visit_u8()
642 .map(TagOrContent::Content) in visit_u16()
651 .map(TagOrContent::Content) in visit_u32()
660 .map(TagOrContent::Content) in visit_u64()
669 .map(TagOrContent::Content) in visit_f32()
678 .map(TagOrContent::Content) in visit_f64()
687 .map(TagOrContent::Content) in visit_char()
699 .map(TagOrContent::Content) in visit_str()
712 .map(TagOrContent::Content) in visit_borrowed_str()
725 .map(TagOrContent::Content) in visit_string()
738 .map(TagOrContent::Content) in visit_bytes()
751 .map(TagOrContent::Content) in visit_borrowed_bytes()
764 .map(TagOrContent::Content) in visit_byte_buf()
774 .map(TagOrContent::Content) in visit_unit()
783 .map(TagOrContent::Content) in visit_none()
792 .map(TagOrContent::Content) in visit_some()
801 .map(TagOrContent::Content) in visit_newtype_struct()
810 .map(TagOrContent::Content) in visit_seq()
819 .map(TagOrContent::Content) in visit_map()
828 .map(TagOrContent::Content) in visit_enum()
845 /// Visitor for the content of an internally tagged enum with the given
860 type Value = (T, Content<'de>);
877 Ok((tag, tri!(Content::deserialize(rest)))) in visit_seq()
885 let mut vec = Vec::<(Content, Content)>::with_capacity(size_hint::cautious::<( in visit_map()
886 Content, in visit_map()
887 Content, in visit_map()
897 TagOrContent::Content(k) => { in visit_map()
905 Some(tag) => Ok((tag, Content::Map(vec))), in visit_map()
915 Content, enumerator
922 /// Name of the content field of the adjacently tagged enum
923 pub content: &'static str, field
941 write!(formatter, "{:?} or {:?}", self.tag, self.content) in expecting()
950 1 => Ok(TagOrContentField::Content), in visit_u64()
964 } else if field == self.content { in visit_str()
965 Ok(TagOrContentField::Content) in visit_str()
977 } else if field == self.content.as_bytes() { in visit_bytes()
978 Ok(TagOrContentField::Content) in visit_bytes()
991 Content, enumerator
999 /// Name of the content field of the adjacently tagged enum
1000 pub content: &'static str, field
1021 self.tag, self.content in expecting()
1031 1 => Ok(TagContentOtherField::Content), in visit_u64()
1049 } else if field == self.content.as_bytes() { in visit_bytes()
1050 Ok(TagContentOtherField::Content) in visit_bytes()
1059 content: Content<'de>, field
1069 de::Error::invalid_type(self.content.unexpected(), exp) in invalid_type()
1076 match self.content { in deserialize_integer()
1077 Content::U8(v) => visitor.visit_u8(v), in deserialize_integer()
1078 Content::U16(v) => visitor.visit_u16(v), in deserialize_integer()
1079 Content::U32(v) => visitor.visit_u32(v), in deserialize_integer()
1080 Content::U64(v) => visitor.visit_u64(v), in deserialize_integer()
1081 Content::I8(v) => visitor.visit_i8(v), in deserialize_integer()
1082 Content::I16(v) => visitor.visit_i16(v), in deserialize_integer()
1083 Content::I32(v) => visitor.visit_i32(v), in deserialize_integer()
1084 Content::I64(v) => visitor.visit_i64(v), in deserialize_integer()
1093 match self.content { in deserialize_float()
1094 Content::F32(v) => visitor.visit_f32(v), in deserialize_float()
1095 Content::F64(v) => visitor.visit_f64(v), in deserialize_float()
1096 Content::U8(v) => visitor.visit_u8(v), in deserialize_float()
1097 Content::U16(v) => visitor.visit_u16(v), in deserialize_float()
1098 Content::U32(v) => visitor.visit_u32(v), in deserialize_float()
1099 Content::U64(v) => visitor.visit_u64(v), in deserialize_float()
1100 Content::I8(v) => visitor.visit_i8(v), in deserialize_float()
1101 Content::I16(v) => visitor.visit_i16(v), in deserialize_float()
1102 Content::I32(v) => visitor.visit_i32(v), in deserialize_float()
1103 Content::I64(v) => visitor.visit_i64(v), in deserialize_float()
1109 fn visit_content_seq<'de, V, E>(content: Vec<Content<'de>>, visitor: V) -> Result<V::Value, E> in visit_content_seq()
1114 let mut seq_visitor = SeqDeserializer::new(content.into_iter()); in visit_content_seq()
1121 content: Vec<(Content<'de>, Content<'de>)>, in visit_content_map()
1128 let mut map_visitor = MapDeserializer::new(content.into_iter()); in visit_content_map()
1134 /// Used when deserializing an internally tagged enum because the content
1146 match self.content { in deserialize_any()
1147 Content::Bool(v) => visitor.visit_bool(v), in deserialize_any()
1148 Content::U8(v) => visitor.visit_u8(v), in deserialize_any()
1149 Content::U16(v) => visitor.visit_u16(v), in deserialize_any()
1150 Content::U32(v) => visitor.visit_u32(v), in deserialize_any()
1151 Content::U64(v) => visitor.visit_u64(v), in deserialize_any()
1152 Content::I8(v) => visitor.visit_i8(v), in deserialize_any()
1153 Content::I16(v) => visitor.visit_i16(v), in deserialize_any()
1154 Content::I32(v) => visitor.visit_i32(v), in deserialize_any()
1155 Content::I64(v) => visitor.visit_i64(v), in deserialize_any()
1156 Content::F32(v) => visitor.visit_f32(v), in deserialize_any()
1157 Content::F64(v) => visitor.visit_f64(v), in deserialize_any()
1158 Content::Char(v) => visitor.visit_char(v), in deserialize_any()
1159 Content::String(v) => visitor.visit_string(v), in deserialize_any()
1160 Content::Str(v) => visitor.visit_borrowed_str(v), in deserialize_any()
1161 Content::ByteBuf(v) => visitor.visit_byte_buf(v), in deserialize_any()
1162 Content::Bytes(v) => visitor.visit_borrowed_bytes(v), in deserialize_any()
1163 Content::Unit => visitor.visit_unit(), in deserialize_any()
1164 Content::None => visitor.visit_none(), in deserialize_any()
1165 Content::Some(v) => visitor.visit_some(ContentDeserializer::new(*v)), in deserialize_any()
1166 Content::Newtype(v) => visitor.visit_newtype_struct(ContentDeserializer::new(*v)), in deserialize_any()
1167 Content::Seq(v) => visit_content_seq(v, visitor), in deserialize_any()
1168 Content::Map(v) => visit_content_map(v, visitor), in deserialize_any()
1176 match self.content { in deserialize_bool()
1177 Content::Bool(v) => visitor.visit_bool(v), in deserialize_bool()
1256 match self.content { in deserialize_char()
1257 Content::Char(v) => visitor.visit_char(v), in deserialize_char()
1258 Content::String(v) => visitor.visit_string(v), in deserialize_char()
1259 Content::Str(v) => visitor.visit_borrowed_str(v), in deserialize_char()
1275 match self.content { in deserialize_string()
1276 Content::String(v) => visitor.visit_string(v), in deserialize_string()
1277 Content::Str(v) => visitor.visit_borrowed_str(v), in deserialize_string()
1278 Content::ByteBuf(v) => visitor.visit_byte_buf(v), in deserialize_string()
1279 Content::Bytes(v) => visitor.visit_borrowed_bytes(v), in deserialize_string()
1295 match self.content { in deserialize_byte_buf()
1296 Content::String(v) => visitor.visit_string(v), in deserialize_byte_buf()
1297 Content::Str(v) => visitor.visit_borrowed_str(v), in deserialize_byte_buf()
1298 Content::ByteBuf(v) => visitor.visit_byte_buf(v), in deserialize_byte_buf()
1299 Content::Bytes(v) => visitor.visit_borrowed_bytes(v), in deserialize_byte_buf()
1300 Content::Seq(v) => visit_content_seq(v, visitor), in deserialize_byte_buf()
1309 match self.content { in deserialize_option()
1310 Content::None => visitor.visit_none(), in deserialize_option()
1311 Content::Some(v) => visitor.visit_some(ContentDeserializer::new(*v)), in deserialize_option()
1312 Content::Unit => visitor.visit_unit(), in deserialize_option()
1321 match self.content { in deserialize_unit()
1322 Content::Unit => visitor.visit_unit(), in deserialize_unit()
1333 Content::Map(ref v) if v.is_empty() => visitor.visit_unit(), in deserialize_unit()
1346 match self.content { in deserialize_unit_struct()
1361 Content::Map(ref v) if v.is_empty() => visitor.visit_unit(), in deserialize_unit_struct()
1362 Content::Seq(ref v) if v.is_empty() => visitor.visit_unit(), in deserialize_unit_struct()
1375 match self.content { in deserialize_newtype_struct()
1376 Content::Newtype(v) => visitor.visit_newtype_struct(ContentDeserializer::new(*v)), in deserialize_newtype_struct()
1385 match self.content { in deserialize_seq()
1386 Content::Seq(v) => visit_content_seq(v, visitor), in deserialize_seq()
1414 match self.content { in deserialize_map()
1415 Content::Map(v) => visit_content_map(v, visitor), in deserialize_map()
1429 match self.content { in deserialize_struct()
1430 Content::Seq(v) => visit_content_seq(v, visitor), in deserialize_struct()
1431 Content::Map(v) => visit_content_map(v, visitor), in deserialize_struct()
1445 let (variant, value) = match self.content { in deserialize_enum()
1446 Content::Map(value) => { in deserialize_enum()
1466 s @ Content::String(_) | s @ Content::Str(_) => (s, None), in deserialize_enum()
1482 match self.content { in deserialize_identifier()
1483 Content::String(v) => visitor.visit_string(v), in deserialize_identifier()
1484 Content::Str(v) => visitor.visit_borrowed_str(v), in deserialize_identifier()
1485 Content::ByteBuf(v) => visitor.visit_byte_buf(v), in deserialize_identifier()
1486 Content::Bytes(v) => visitor.visit_borrowed_bytes(v), in deserialize_identifier()
1487 Content::U8(v) => visitor.visit_u8(v), in deserialize_identifier()
1488 Content::U64(v) => visitor.visit_u64(v), in deserialize_identifier()
1505 ) -> Result<Content<'de>, Self::Error> in __deserialize_content()
1507 V: Visitor<'de, Value = Content<'de>>, in __deserialize_content()
1510 Ok(self.content) in __deserialize_content()
1516 pub fn new(content: Content<'de>) -> Self { in new()
1518 content, in new()
1528 variant: Content<'de>,
1529 value: Option<Content<'de>>,
1537 pub fn new(variant: Content<'de>, value: Option<Content<'de>>) -> EnumDeserializer<'de, E> { in new()
1570 value: Option<Content<'de>>,
1605 Some(Content::Seq(v)) => { in tuple_variant()
1628 Some(Content::Map(v)) => { in struct_variant()
1631 Some(Content::Seq(v)) => { in struct_variant()
1648 content: &'a Content<'de>, field
1658 de::Error::invalid_type(self.content.unexpected(), exp) in invalid_type()
1665 match *self.content { in deserialize_integer()
1666 Content::U8(v) => visitor.visit_u8(v), in deserialize_integer()
1667 Content::U16(v) => visitor.visit_u16(v), in deserialize_integer()
1668 Content::U32(v) => visitor.visit_u32(v), in deserialize_integer()
1669 Content::U64(v) => visitor.visit_u64(v), in deserialize_integer()
1670 Content::I8(v) => visitor.visit_i8(v), in deserialize_integer()
1671 Content::I16(v) => visitor.visit_i16(v), in deserialize_integer()
1672 Content::I32(v) => visitor.visit_i32(v), in deserialize_integer()
1673 Content::I64(v) => visitor.visit_i64(v), in deserialize_integer()
1682 match *self.content { in deserialize_float()
1683 Content::F32(v) => visitor.visit_f32(v), in deserialize_float()
1684 Content::F64(v) => visitor.visit_f64(v), in deserialize_float()
1685 Content::U8(v) => visitor.visit_u8(v), in deserialize_float()
1686 Content::U16(v) => visitor.visit_u16(v), in deserialize_float()
1687 Content::U32(v) => visitor.visit_u32(v), in deserialize_float()
1688 Content::U64(v) => visitor.visit_u64(v), in deserialize_float()
1689 Content::I8(v) => visitor.visit_i8(v), in deserialize_float()
1690 Content::I16(v) => visitor.visit_i16(v), in deserialize_float()
1691 Content::I32(v) => visitor.visit_i32(v), in deserialize_float()
1692 Content::I64(v) => visitor.visit_i64(v), in deserialize_float()
1699 content: &'a [Content<'de>], in visit_content_seq_ref()
1706 let mut seq_visitor = SeqDeserializer::new(content.iter()); in visit_content_seq_ref()
1713 content: &'a [(Content<'de>, Content<'de>)], in visit_content_map_ref()
1721 (k, v): &'a (Content<'de>, Content<'de>), in visit_content_map_ref()
1722 ) -> (&'a Content<'de>, &'a Content<'de>) { in visit_content_map_ref()
1726 let map = content.iter().map(content_ref_deserializer_pair); in visit_content_map_ref()
1733 /// Used when deserializing an untagged enum because the content may need
1745 match *self.content { in deserialize_any()
1746 Content::Bool(v) => visitor.visit_bool(v), in deserialize_any()
1747 Content::U8(v) => visitor.visit_u8(v), in deserialize_any()
1748 Content::U16(v) => visitor.visit_u16(v), in deserialize_any()
1749 Content::U32(v) => visitor.visit_u32(v), in deserialize_any()
1750 Content::U64(v) => visitor.visit_u64(v), in deserialize_any()
1751 Content::I8(v) => visitor.visit_i8(v), in deserialize_any()
1752 Content::I16(v) => visitor.visit_i16(v), in deserialize_any()
1753 Content::I32(v) => visitor.visit_i32(v), in deserialize_any()
1754 Content::I64(v) => visitor.visit_i64(v), in deserialize_any()
1755 Content::F32(v) => visitor.visit_f32(v), in deserialize_any()
1756 Content::F64(v) => visitor.visit_f64(v), in deserialize_any()
1757 Content::Char(v) => visitor.visit_char(v), in deserialize_any()
1758 Content::String(ref v) => visitor.visit_str(v), in deserialize_any()
1759 Content::Str(v) => visitor.visit_borrowed_str(v), in deserialize_any()
1760 Content::ByteBuf(ref v) => visitor.visit_bytes(v), in deserialize_any()
1761 Content::Bytes(v) => visitor.visit_borrowed_bytes(v), in deserialize_any()
1762 Content::Unit => visitor.visit_unit(), in deserialize_any()
1763 Content::None => visitor.visit_none(), in deserialize_any()
1764 Content::Some(ref v) => visitor.visit_some(ContentRefDeserializer::new(v)), in deserialize_any()
1765 Content::Newtype(ref v) => { in deserialize_any()
1768 Content::Seq(ref v) => visit_content_seq_ref(v, visitor), in deserialize_any()
1769 Content::Map(ref v) => visit_content_map_ref(v, visitor), in deserialize_any()
1777 match *self.content { in deserialize_bool()
1778 Content::Bool(v) => visitor.visit_bool(v), in deserialize_bool()
1857 match *self.content { in deserialize_char()
1858 Content::Char(v) => visitor.visit_char(v), in deserialize_char()
1859 Content::String(ref v) => visitor.visit_str(v), in deserialize_char()
1860 Content::Str(v) => visitor.visit_borrowed_str(v), in deserialize_char()
1869 match *self.content { in deserialize_str()
1870 Content::String(ref v) => visitor.visit_str(v), in deserialize_str()
1871 Content::Str(v) => visitor.visit_borrowed_str(v), in deserialize_str()
1872 Content::ByteBuf(ref v) => visitor.visit_bytes(v), in deserialize_str()
1873 Content::Bytes(v) => visitor.visit_borrowed_bytes(v), in deserialize_str()
1889 match *self.content { in deserialize_bytes()
1890 Content::String(ref v) => visitor.visit_str(v), in deserialize_bytes()
1891 Content::Str(v) => visitor.visit_borrowed_str(v), in deserialize_bytes()
1892 Content::ByteBuf(ref v) => visitor.visit_bytes(v), in deserialize_bytes()
1893 Content::Bytes(v) => visitor.visit_borrowed_bytes(v), in deserialize_bytes()
1894 Content::Seq(ref v) => visit_content_seq_ref(v, visitor), in deserialize_bytes()
1912 match *self.content { in deserialize_option()
1913 Content::None => visitor.visit_none(), in deserialize_option()
1914 Content::Some(ref v) => visitor.visit_some(ContentRefDeserializer::new(v)), in deserialize_option()
1915 Content::Unit => visitor.visit_unit(), in deserialize_option()
1921 // deserialize the resulting Content into data structures with in deserialize_option()
1931 match *self.content { in deserialize_unit()
1932 Content::Unit => visitor.visit_unit(), in deserialize_unit()
1954 match *self.content { in deserialize_newtype_struct()
1955 Content::Newtype(ref v) => { in deserialize_newtype_struct()
1966 // resulting Content into newtypes. in deserialize_newtype_struct()
1975 match *self.content { in deserialize_seq()
1976 Content::Seq(ref v) => visit_content_seq_ref(v, visitor), in deserialize_seq()
2004 match *self.content { in deserialize_map()
2005 Content::Map(ref v) => visit_content_map_ref(v, visitor), in deserialize_map()
2019 match *self.content { in deserialize_struct()
2020 Content::Seq(ref v) => visit_content_seq_ref(v, visitor), in deserialize_struct()
2021 Content::Map(ref v) => visit_content_map_ref(v, visitor), in deserialize_struct()
2035 let (variant, value) = match *self.content { in deserialize_enum()
2036 Content::Map(ref value) => { in deserialize_enum()
2056 ref s @ Content::String(_) | ref s @ Content::Str(_) => (s, None), in deserialize_enum()
2076 match *self.content { in deserialize_identifier()
2077 Content::String(ref v) => visitor.visit_str(v), in deserialize_identifier()
2078 Content::Str(v) => visitor.visit_borrowed_str(v), in deserialize_identifier()
2079 Content::ByteBuf(ref v) => visitor.visit_bytes(v), in deserialize_identifier()
2080 Content::Bytes(v) => visitor.visit_borrowed_bytes(v), in deserialize_identifier()
2081 Content::U8(v) => visitor.visit_u8(v), in deserialize_identifier()
2082 Content::U64(v) => visitor.visit_u64(v), in deserialize_identifier()
2098 ) -> Result<Content<'de>, Self::Error> in __deserialize_content()
2100 V: Visitor<'de, Value = Content<'de>>, in __deserialize_content()
2103 Ok(self.content.clone()) in __deserialize_content()
2109 pub fn new(content: &'a Content<'de>) -> Self { in new()
2111 content, in new()
2129 variant: &'a Content<'de>,
2130 value: Option<&'a Content<'de>>,
2158 value: Option<&'a Content<'de>>,
2208 Some(Content::Seq(v)) => visit_content_seq_ref(v, visitor), in tuple_variant()
2231 Some(Content::Map(v)) => visit_content_map_ref(v, visitor), in struct_variant()
2235 Some(Content::Seq(v)) => visit_content_seq_ref(v, visitor), in struct_variant()
2493 pub &'a mut Vec<Option<(Content<'de>, Content<'de>)>>,
2652 iter: slice::Iter<'a, Option<(Content<'de>, Content<'de>)>>,
2653 pending_content: Option<&'a Content<'de>>,
2670 if let Some((ref key, ref content)) = *item { in next_key_seed()
2675 self.pending_content = Some(content); in next_key_seed()
2695 iter: slice::IterMut<'a, Option<(Content<'de>, Content<'de>)>>,
2696 pending_content: Option<Content<'de>>,
2713 if let Some((key, content)) = flat_map_take_entry(entry, self.fields) { in next_key_seed()
2714 self.pending_content = Some(content); in next_key_seed()
2736 entry: &mut Option<(Content<'de>, Content<'de>)>, in flat_map_take_entry()
2738 ) -> Option<(Content<'de>, Content<'de>)> { in flat_map_take_entry()