Skip to content

Commit 0ce83df

Browse files
authored
Merge pull request #878 from nox/serde
Update serde to 0.8
2 parents c497dfc + de921d0 commit 0ce83df

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ version = "0.1.4"
4141
optional = true
4242

4343
[dependencies.serde]
44-
version = "0.7"
44+
version = "0.8"
4545
optional = true
4646

4747
[dev-dependencies]

src/header/mod.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,6 @@ use self::internals::{Item, VecMap, Entry};
8989
use serde::{Deserialize, Deserializer, Serialize, Serializer};
9090
#[cfg(feature = "serde-serialization")]
9191
use serde::de;
92-
#[cfg(feature = "serde-serialization")]
93-
use serde::ser;
9492

9593
pub use self::shared::*;
9694
pub use self::common::*;
@@ -432,11 +430,15 @@ impl fmt::Debug for Headers {
432430

433431
#[cfg(feature = "serde-serialization")]
434432
impl Serialize for Headers {
435-
fn serialize<S>(&self, serializer: &mut S) -> Result<(), S::Error> where S: Serializer {
436-
serializer.serialize_map(ser::impls::MapIteratorVisitor::new(
437-
self.iter().map(|header| (header.name(), header.value_string())),
438-
Some(self.len()),
439-
))
433+
fn serialize<S>(&self, serializer: &mut S) -> Result<(), S::Error>
434+
where S: Serializer
435+
{
436+
let mut state = try!(serializer.serialize_map(Some(self.len())));
437+
for header in self.iter() {
438+
try!(serializer.serialize_map_key(&mut state, header.name()));
439+
try!(serializer.serialize_map_value(&mut state, header.value_string()));
440+
}
441+
serializer.serialize_map_end(state)
440442
}
441443
}
442444

0 commit comments

Comments
 (0)