Skip to content

Commit bdef3f1

Browse files
committed
std: fix json deserializing vectors and a test
1 parent 31563f5 commit bdef3f1

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

src/libstd/json.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -855,9 +855,7 @@ impl serialize::Decoder for Decoder {
855855
}
856856
_ => fail!(~"not a list"),
857857
};
858-
let res = f(len);
859-
self.stack.pop();
860-
res
858+
f(len)
861859
}
862860
863861
fn read_seq_elt<T>(&self, idx: uint, f: &fn() -> T) -> T {
@@ -1675,10 +1673,10 @@ mod tests {
16751673
fn test_read_map() {
16761674
let s = ~"{\"a\": \"Dog\", \"b\": [\"Frog\", \"Henry\", 349]}";
16771675
let decoder = Decoder(from_str(s).unwrap());
1678-
let map: LinearMap<~str, Animal> = Decodable::decode(&decoder);
1676+
let mut map: LinearMap<~str, Animal> = Decodable::decode(&decoder);
16791677
1680-
assert_eq!(map.find(&~"a"), Some(Dog));
1681-
assert_eq!(map.find(&~"b"), Some(Frog(~"Henry", 349)));
1678+
assert_eq!(map.pop(&~"a"), Some(Dog));
1679+
assert_eq!(map.pop(&~"b"), Some(Frog(~"Henry", 349)));
16821680
}
16831681
16841682
#[test]

0 commit comments

Comments
 (0)