mirror of
https://github.com/serde-rs/serde.git
synced 2025-10-02 15:25:38 +00:00
Map elts shouldn't be tuples, 4267ns vs 4900ns
This commit is contained in:
parent
e4fece35ad
commit
ac3136b2f3
@ -338,7 +338,6 @@ mod deserializer {
|
||||
self.stack.push(EndState);
|
||||
let len = value.len();
|
||||
for (key, value) in value.move_iter() {
|
||||
self.stack.push(EndState);
|
||||
match value {
|
||||
Some(c) => {
|
||||
self.stack.push(CharState(c));
|
||||
@ -349,7 +348,6 @@ mod deserializer {
|
||||
}
|
||||
}
|
||||
self.stack.push(StringState(key));
|
||||
self.stack.push(TupleState(2));
|
||||
}
|
||||
Some(Ok(MapStart(len)))
|
||||
}
|
||||
|
9
de.rs
9
de.rs
@ -406,7 +406,8 @@ macro_rules! deserialize_map {
|
||||
match d.next() {
|
||||
Some(Ok(End)) => { break; }
|
||||
Some(Ok(token)) => {
|
||||
let (k, v): (K, V) = try!(Deserializable::deserialize_token(d, token));
|
||||
let k = try!(Deserializable::deserialize_token(d, token));
|
||||
let v = try!(Deserializable::deserialize(d));
|
||||
$seq.insert(k, v);
|
||||
}
|
||||
Some(Err(err)) => { return Err(err); }
|
||||
@ -768,7 +769,6 @@ mod tests {
|
||||
|
||||
Str("c"),
|
||||
MapStart(1),
|
||||
TupleStart(2),
|
||||
String("abc".to_strbuf()),
|
||||
|
||||
Option(true),
|
||||
@ -777,7 +777,6 @@ mod tests {
|
||||
End,
|
||||
End,
|
||||
End,
|
||||
End,
|
||||
);
|
||||
|
||||
let mut deserializer = TokenDeserializer::new(tokens);
|
||||
@ -889,18 +888,14 @@ mod tests {
|
||||
fn test_tokens_hashmap() {
|
||||
let tokens = vec!(
|
||||
MapStart(2),
|
||||
TupleStart(2),
|
||||
Int(5),
|
||||
|
||||
String("a".to_strbuf()),
|
||||
End,
|
||||
|
||||
TupleStart(2),
|
||||
Int(6),
|
||||
|
||||
String("b".to_strbuf()),
|
||||
End,
|
||||
End,
|
||||
);
|
||||
|
||||
let mut deserializer = TokenDeserializer::new(tokens);
|
||||
|
Loading…
x
Reference in New Issue
Block a user