File tree 2 files changed +17
-2
lines changed 2 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -135,7 +135,14 @@ impl Map<String, Value> {
135
135
String : Borrow < Q > ,
136
136
Q : Ord + Eq + Hash + ?Sized ,
137
137
{
138
- self . map . remove ( key)
138
+ #[ cfg( not( feature = "preserve_order" ) ) ]
139
+ {
140
+ self . map . remove ( key)
141
+ }
142
+ #[ cfg( feature = "preserve_order" ) ]
143
+ {
144
+ self . map . shift_remove ( key)
145
+ }
139
146
}
140
147
141
148
/// Retains only the elements specified by the `keep` predicate.
@@ -501,7 +508,14 @@ impl<'a> OccupiedEntry<'a> {
501
508
/// Takes the value of the entry out of the map, and returns it.
502
509
#[ inline]
503
510
pub fn remove ( self ) -> Value {
504
- self . occupied . remove ( )
511
+ #[ cfg( not( feature = "preserve_order" ) ) ]
512
+ {
513
+ self . occupied . remove ( )
514
+ }
515
+ #[ cfg( feature = "preserve_order" ) ]
516
+ {
517
+ self . occupied . shift_remove ( )
518
+ }
505
519
}
506
520
}
507
521
Original file line number Diff line number Diff line change 1
1
use super :: { Error , KeySerializer , SerializeValueArray , ValueSerializer } ;
2
2
3
3
#[ doc( hidden) ]
4
+ #[ allow( clippy:: large_enum_variant) ]
4
5
pub enum SerializeMap {
5
6
Datetime ( SerializeDatetime ) ,
6
7
Table ( SerializeInlineTable ) ,
You can’t perform that action at this time.
0 commit comments