@@ -121,9 +121,8 @@ impl<'de> Deserializer<'de> {
121121 }
122122
123123 let mut loader = Loader :: new ( self . progress ) ?;
124- let document = match loader. next_document ( ) {
125- Some ( document) => document,
126- None => return Err ( error:: new ( ErrorImpl :: EndOfStream ) ) ,
124+ let Some ( document) = loader. next_document ( ) else {
125+ return Err ( error:: new ( ErrorImpl :: EndOfStream ) ) ;
127126 } ;
128127 let t = f ( & mut DeserializerFromEvents {
129128 document : & document,
@@ -859,14 +858,11 @@ fn visit_scalar<'de, V>(visitor: V, scalar: &Scalar<'de>, tagged_already: bool)
859858where
860859 V : Visitor < ' de > ,
861860{
862- let v = match str:: from_utf8 ( & scalar. value ) {
863- Ok ( v) => v,
864- Err ( _) => {
865- return Err ( de:: Error :: invalid_type (
866- Unexpected :: Bytes ( & scalar. value ) ,
867- & visitor,
868- ) )
869- }
861+ let Ok ( v) = str:: from_utf8 ( & scalar. value ) else {
862+ return Err ( de:: Error :: invalid_type (
863+ Unexpected :: Bytes ( & scalar. value ) ,
864+ & visitor,
865+ ) ) ;
870866 } ;
871867 if let ( Some ( tag) , false ) = ( & scalar. tag , tagged_already) {
872868 if tag == Tag :: BOOL {
@@ -1190,8 +1186,8 @@ fn invalid_type(event: &Event, exp: &dyn Expected) -> Error {
11901186 }
11911187}
11921188
1193- fn parse_tag ( libyaml_tag : & Option < Tag > ) -> Option < & str > {
1194- let mut bytes: & [ u8 ] = libyaml_tag. as_ref ( ) ?;
1189+ fn parse_tag ( libyaml_tag : Option < & Tag > ) -> Option < & str > {
1190+ let mut bytes: & [ u8 ] = libyaml_tag?;
11951191 if let ( b'!' , rest) = bytes. split_first ( ) ? {
11961192 if !rest. is_empty ( ) {
11971193 bytes = rest;
@@ -1202,7 +1198,7 @@ fn parse_tag(libyaml_tag: &Option<Tag>) -> Option<&str> {
12021198 }
12031199}
12041200
1205- impl < ' de , ' document > de:: Deserializer < ' de > for & mut DeserializerFromEvents < ' de , ' document > {
1201+ impl < ' de > de:: Deserializer < ' de > for & mut DeserializerFromEvents < ' de , ' _ > {
12061202 type Error = Error ;
12071203
12081204 fn deserialize_any < V > ( self , visitor : V ) -> Result < V :: Value >
@@ -1211,7 +1207,7 @@ impl<'de, 'document> de::Deserializer<'de> for &mut DeserializerFromEvents<'de,
12111207 {
12121208 let tagged_already = self . current_enum . is_some ( ) ;
12131209 let ( next, mark) = self . next_event_mark ( ) ?;
1214- fn enum_tag ( tag : & Option < Tag > , tagged_already : bool ) -> Option < & str > {
1210+ fn enum_tag ( tag : Option < & Tag > , tagged_already : bool ) -> Option < & str > {
12151211 if tagged_already {
12161212 return None ;
12171213 }
@@ -1221,7 +1217,7 @@ impl<'de, 'document> de::Deserializer<'de> for &mut DeserializerFromEvents<'de,
12211217 match next {
12221218 Event :: Alias ( mut pos) => break self . jump ( & mut pos) ?. deserialize_any ( visitor) ,
12231219 Event :: Scalar ( scalar) => {
1224- if let Some ( tag) = enum_tag ( & scalar. tag , tagged_already) {
1220+ if let Some ( tag) = enum_tag ( scalar. tag . as_ref ( ) , tagged_already) {
12251221 * self . pos -= 1 ;
12261222 break visitor. visit_enum ( EnumAccess {
12271223 de : self ,
@@ -1232,7 +1228,7 @@ impl<'de, 'document> de::Deserializer<'de> for &mut DeserializerFromEvents<'de,
12321228 break visit_scalar ( visitor, scalar, tagged_already) ;
12331229 }
12341230 Event :: SequenceStart ( sequence) => {
1235- if let Some ( tag) = enum_tag ( & sequence. tag , tagged_already) {
1231+ if let Some ( tag) = enum_tag ( sequence. tag . as_ref ( ) , tagged_already) {
12361232 * self . pos -= 1 ;
12371233 break visitor. visit_enum ( EnumAccess {
12381234 de : self ,
@@ -1243,7 +1239,7 @@ impl<'de, 'document> de::Deserializer<'de> for &mut DeserializerFromEvents<'de,
12431239 break self . visit_sequence ( visitor, mark) ;
12441240 }
12451241 Event :: MappingStart ( mapping) => {
1246- if let Some ( tag) = enum_tag ( & mapping. tag , tagged_already) {
1242+ if let Some ( tag) = enum_tag ( mapping. tag . as_ref ( ) , tagged_already) {
12471243 * self . pos -= 1 ;
12481244 break visitor. visit_enum ( EnumAccess {
12491245 de : self ,
@@ -1739,7 +1735,7 @@ impl<'de, 'document> de::Deserializer<'de> for &mut DeserializerFromEvents<'de,
17391735 . deserialize_enum ( name, variants, visitor)
17401736 }
17411737 Event :: Scalar ( scalar) => {
1742- if let Some ( tag) = parse_tag ( & scalar. tag ) {
1738+ if let Some ( tag) = parse_tag ( scalar. tag . as_ref ( ) ) {
17431739 return visitor. visit_enum ( EnumAccess {
17441740 de : self ,
17451741 name : Some ( name) ,
@@ -1749,7 +1745,7 @@ impl<'de, 'document> de::Deserializer<'de> for &mut DeserializerFromEvents<'de,
17491745 visitor. visit_enum ( UnitVariantAccess { de : self } )
17501746 }
17511747 Event :: MappingStart ( mapping) => {
1752- if let Some ( tag) = parse_tag ( & mapping. tag ) {
1748+ if let Some ( tag) = parse_tag ( mapping. tag . as_ref ( ) ) {
17531749 return visitor. visit_enum ( EnumAccess {
17541750 de : self ,
17551751 name : Some ( name) ,
@@ -1761,7 +1757,7 @@ impl<'de, 'document> de::Deserializer<'de> for &mut DeserializerFromEvents<'de,
17611757 Err ( error:: fix_mark ( err, mark, self . path ) )
17621758 }
17631759 Event :: SequenceStart ( sequence) => {
1764- if let Some ( tag) = parse_tag ( & sequence. tag ) {
1760+ if let Some ( tag) = parse_tag ( sequence. tag . as_ref ( ) ) {
17651761 return visitor. visit_enum ( EnumAccess {
17661762 de : self ,
17671763 name : Some ( name) ,
0 commit comments