File tree Expand file tree Collapse file tree 1 file changed +4
-26
lines changed Expand file tree Collapse file tree 1 file changed +4
-26
lines changed Original file line number Diff line number Diff line change @@ -512,21 +512,10 @@ impl<'de> VariantAccess<'de> for VariantDeserializer {
512512 {
513513 match self . value {
514514 Some ( Value :: Array ( v) ) => {
515- let len = v. len ( ) ;
516- if len == 0 {
515+ if v. is_empty ( ) {
517516 visitor. visit_unit ( )
518517 } else {
519- let mut seq = SeqDeserializer :: new ( v) ;
520- let ret = tri ! ( visitor. visit_seq( & mut seq) ) ;
521- let remaining = seq. iter . len ( ) ;
522- if remaining == 0 {
523- Ok ( ret)
524- } else {
525- Err ( serde:: de:: Error :: invalid_length (
526- len,
527- & "fewer elements in array" ,
528- ) )
529- }
518+ visit_array ( v, visitor)
530519 }
531520 }
532521 Some ( other) => Err ( serde:: de:: Error :: invalid_type (
@@ -1006,21 +995,10 @@ impl<'de> VariantAccess<'de> for VariantRefDeserializer<'de> {
1006995 {
1007996 match self . value {
1008997 Some ( & Value :: Array ( ref v) ) => {
1009- let len = v. len ( ) ;
1010- if len == 0 {
998+ if v. is_empty ( ) {
1011999 visitor. visit_unit ( )
10121000 } else {
1013- let mut seq = SeqRefDeserializer :: new ( v) ;
1014- let ret = tri ! ( visitor. visit_seq( & mut seq) ) ;
1015- let remaining = seq. iter . len ( ) ;
1016- if remaining == 0 {
1017- Ok ( ret)
1018- } else {
1019- Err ( serde:: de:: Error :: invalid_length (
1020- len,
1021- & "fewer elements in array" ,
1022- ) )
1023- }
1001+ visit_array_ref ( v, visitor)
10241002 }
10251003 }
10261004 Some ( other) => Err ( serde:: de:: Error :: invalid_type (
You can’t perform that action at this time.
0 commit comments