Skip to content

Commit d655817

Browse files
authored
Merge pull request #68 from dtolnay/up
Update to serde 0.8.0
2 parents 94c54ab + 10476fd commit d655817

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@ serde_impl = ["serde", "serde_test"]
2121

2222
[dependencies]
2323
clippy = { version = "0.*", optional = true }
24-
serde = { version = "^0.7", optional = true }
25-
serde_test = { version = "^0.7", optional = true }
24+
serde = { version = "^0.8", optional = true }
25+
serde_test = { version = "^0.8", optional = true }

src/serde.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ use std::hash::{BuildHasher, Hash};
1515
use super::LinkedHashMap;
1616

1717
use self::serde::{Serialize, Serializer, Deserialize, Deserializer};
18-
use self::serde::ser::impls::MapIteratorVisitor;
1918
use self::serde::de::{Visitor, MapVisitor, Error};
2019

2120
impl<K, V, S> Serialize for LinkedHashMap<K, V, S>
@@ -27,7 +26,12 @@ impl<K, V, S> Serialize for LinkedHashMap<K, V, S>
2726
fn serialize<T>(&self, serializer: &mut T) -> Result<(), T::Error>
2827
where T: Serializer,
2928
{
30-
serializer.serialize_map(MapIteratorVisitor::new(self.iter(), Some(self.len())))
29+
let mut state = try!(serializer.serialize_map(Some(self.len())));
30+
for (k, v) in self {
31+
try!(serializer.serialize_map_key(&mut state, k));
32+
try!(serializer.serialize_map_value(&mut state, v));
33+
}
34+
serializer.serialize_map_end(state)
3135
}
3236
}
3337

0 commit comments

Comments
 (0)