mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-11 12:51:01 +00:00
Map elts shouldn't be tuples, 4267ns vs 4900ns
This commit is contained in:
@@ -338,7 +338,6 @@ mod deserializer {
|
|||||||
self.stack.push(EndState);
|
self.stack.push(EndState);
|
||||||
let len = value.len();
|
let len = value.len();
|
||||||
for (key, value) in value.move_iter() {
|
for (key, value) in value.move_iter() {
|
||||||
self.stack.push(EndState);
|
|
||||||
match value {
|
match value {
|
||||||
Some(c) => {
|
Some(c) => {
|
||||||
self.stack.push(CharState(c));
|
self.stack.push(CharState(c));
|
||||||
@@ -349,7 +348,6 @@ mod deserializer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.stack.push(StringState(key));
|
self.stack.push(StringState(key));
|
||||||
self.stack.push(TupleState(2));
|
|
||||||
}
|
}
|
||||||
Some(Ok(MapStart(len)))
|
Some(Ok(MapStart(len)))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -406,7 +406,8 @@ macro_rules! deserialize_map {
|
|||||||
match d.next() {
|
match d.next() {
|
||||||
Some(Ok(End)) => { break; }
|
Some(Ok(End)) => { break; }
|
||||||
Some(Ok(token)) => {
|
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);
|
$seq.insert(k, v);
|
||||||
}
|
}
|
||||||
Some(Err(err)) => { return Err(err); }
|
Some(Err(err)) => { return Err(err); }
|
||||||
@@ -768,12 +769,10 @@ mod tests {
|
|||||||
|
|
||||||
Str("c"),
|
Str("c"),
|
||||||
MapStart(1),
|
MapStart(1),
|
||||||
TupleStart(2),
|
String("abc".to_strbuf()),
|
||||||
String("abc".to_strbuf()),
|
|
||||||
|
|
||||||
Option(true),
|
Option(true),
|
||||||
Char('c'),
|
Char('c'),
|
||||||
End,
|
|
||||||
End,
|
End,
|
||||||
End,
|
End,
|
||||||
End,
|
End,
|
||||||
@@ -889,17 +888,13 @@ mod tests {
|
|||||||
fn test_tokens_hashmap() {
|
fn test_tokens_hashmap() {
|
||||||
let tokens = vec!(
|
let tokens = vec!(
|
||||||
MapStart(2),
|
MapStart(2),
|
||||||
TupleStart(2),
|
Int(5),
|
||||||
Int(5),
|
|
||||||
|
|
||||||
String("a".to_strbuf()),
|
String("a".to_strbuf()),
|
||||||
End,
|
|
||||||
|
|
||||||
TupleStart(2),
|
Int(6),
|
||||||
Int(6),
|
|
||||||
|
|
||||||
String("b".to_strbuf()),
|
String("b".to_strbuf()),
|
||||||
End,
|
|
||||||
End,
|
End,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user