@@ -344,7 +344,7 @@ impl<'a> ser::Serializer for &'a mut Serializer {
344
344
}
345
345
}
346
346
347
- impl < ' a > ser:: SerializeSeq for & ' a mut Serializer {
347
+ impl ser:: SerializeSeq for & mut Serializer {
348
348
type Ok = ( ) ;
349
349
type Error = Error ;
350
350
@@ -360,7 +360,7 @@ impl<'a> ser::SerializeSeq for &'a mut Serializer {
360
360
}
361
361
}
362
362
363
- impl < ' a > ser:: SerializeTuple for & ' a mut Serializer {
363
+ impl ser:: SerializeTuple for & mut Serializer {
364
364
type Ok = ( ) ;
365
365
type Error = Error ;
366
366
@@ -376,7 +376,7 @@ impl<'a> ser::SerializeTuple for &'a mut Serializer {
376
376
}
377
377
}
378
378
379
- impl < ' a > ser:: SerializeTupleStruct for & ' a mut Serializer {
379
+ impl ser:: SerializeTupleStruct for & mut Serializer {
380
380
type Ok = ( ) ;
381
381
type Error = Error ;
382
382
@@ -401,37 +401,10 @@ pub(super) enum MapSerializer<'a> {
401
401
} ,
402
402
}
403
403
404
- impl < ' a > ser:: SerializeMap for MapSerializer < ' a > {
404
+ impl ser:: SerializeMap for MapSerializer < ' _ > {
405
405
type Ok = ( ) ;
406
406
type Error = Error ;
407
407
408
- fn serialize_entry < K , V > ( & mut self , key : & K , value : & V ) -> Result < ( ) , Self :: Error >
409
- where
410
- K : ser:: Serialize + ?Sized ,
411
- V : ser:: Serialize + ?Sized ,
412
- {
413
- if key. serialize ( SpecialKeySerializer ) . is_ok ( ) {
414
- match value. serialize ( SpecialValueSerializer ) {
415
- Ok ( map_size) => match self {
416
- MapSerializer :: Known ( ser) => ser,
417
- MapSerializer :: Unknown { ser, len, .. } => {
418
- let rhs = map_size as isize ;
419
- let ( res, overflowed) = len. overflowing_sub ( rhs) ;
420
- let overflowed = overflowed ^ ( rhs < 0 ) ;
421
- let res = if overflowed { isize:: MIN } else { res } ;
422
- * len = res;
423
- ser
424
- }
425
- }
426
- . map_header ( map_size) ,
427
- Err ( _) => Err ( Error :: LengthOverflow ) ,
428
- }
429
- } else {
430
- self . serialize_key ( key) ?;
431
- self . serialize_value ( value)
432
- }
433
- }
434
-
435
408
fn serialize_key < T > ( & mut self , key : & T ) -> Result < ( ) , Self :: Error >
436
409
where
437
410
T : ser:: Serialize + ?Sized ,
@@ -459,6 +432,33 @@ impl<'a> ser::SerializeMap for MapSerializer<'a> {
459
432
value. serialize ( & mut * * ser)
460
433
}
461
434
435
+ fn serialize_entry < K , V > ( & mut self , key : & K , value : & V ) -> Result < ( ) , Self :: Error >
436
+ where
437
+ K : ser:: Serialize + ?Sized ,
438
+ V : ser:: Serialize + ?Sized ,
439
+ {
440
+ if key. serialize ( SpecialKeySerializer ) . is_ok ( ) {
441
+ match value. serialize ( SpecialValueSerializer ) {
442
+ Ok ( map_size) => match self {
443
+ MapSerializer :: Known ( ser) => ser,
444
+ MapSerializer :: Unknown { ser, len, .. } => {
445
+ let rhs = map_size as isize ;
446
+ let ( res, overflowed) = len. overflowing_sub ( rhs) ;
447
+ let overflowed = overflowed ^ ( rhs < 0 ) ;
448
+ let res = if overflowed { isize:: MIN } else { res } ;
449
+ * len = res;
450
+ ser
451
+ }
452
+ }
453
+ . map_header ( map_size) ,
454
+ Err ( _) => Err ( Error :: LengthOverflow ) ,
455
+ }
456
+ } else {
457
+ self . serialize_key ( key) ?;
458
+ self . serialize_value ( value)
459
+ }
460
+ }
461
+
462
462
fn end ( self ) -> Result < Self :: Ok , Self :: Error > {
463
463
if let MapSerializer :: Unknown { ser, begin, len } = self {
464
464
let len = len. max ( 0 ) as usize ;
@@ -495,7 +495,7 @@ impl<'a> ser::SerializeMap for MapSerializer<'a> {
495
495
}
496
496
}
497
497
498
- impl < ' a > ser:: SerializeStruct for & ' a mut Serializer {
498
+ impl ser:: SerializeStruct for & mut Serializer {
499
499
type Ok = ( ) ;
500
500
type Error = Error ;
501
501
@@ -512,7 +512,7 @@ impl<'a> ser::SerializeStruct for &'a mut Serializer {
512
512
}
513
513
}
514
514
515
- impl < ' a > ser:: SerializeTupleVariant for & ' a mut Serializer {
515
+ impl ser:: SerializeTupleVariant for & mut Serializer {
516
516
type Ok = ( ) ;
517
517
type Error = Error ;
518
518
@@ -528,7 +528,7 @@ impl<'a> ser::SerializeTupleVariant for &'a mut Serializer {
528
528
}
529
529
}
530
530
531
- impl < ' a > ser:: SerializeStructVariant for & ' a mut Serializer {
531
+ impl ser:: SerializeStructVariant for & mut Serializer {
532
532
type Ok = ( ) ;
533
533
type Error = Error ;
534
534
0 commit comments