Skip to content

Commit 7fbdb99

Browse files
committed
serialize non-struct None values
1 parent 5f4e719 commit 7fbdb99

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "serde_bencode"
33
description = "A Serde backed Bencode encoding/decoding library for Rust."
4-
version = "0.1.2"
4+
version = "0.1.3"
55
authors = ["Toby Padilla <[email protected]>"]
66
repository = "https://github.com/toby/serde-bencode"
77
license = "MIT"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ Add the following to your `Cargo.toml`:
88

99
```toml
1010
[dependencies]
11+
serde_bencode = "0.1.3"
1112
serde = "0.8.22"
1213
serde_derive = "0.8.22"
13-
serde_bencode = "0.1.2"
1414
```
1515

1616
Serde works best with Rust nightly, it is highly recommended that you use

src/encoder.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,8 @@ impl Serializer for Encoder {
179179
value.serialize(self)
180180
}
181181
fn serialize_none(&mut self) -> Result<(), Self::Error> {
182-
self.serialize_bytes("".as_bytes())
182+
self.push("".as_bytes());
183+
Ok(())
183184
}
184185
fn serialize_some<T: Serialize>(&mut self, value: T) -> Result<(), Self::Error> {
185186
value.serialize(self)

src/test.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,15 @@ fn serialize_some() {
321321
assert_eq!(String::from_utf8(r).unwrap(), "i1e");
322322
}
323323

324+
#[test]
325+
fn serialize_none() {
326+
let f: Option<Bencode> = None;
327+
let mut ser = Encoder::new();
328+
f.serialize(&mut ser).unwrap();
329+
let r: Vec<u8> = ser.into();
330+
assert_eq!(String::from_utf8(r).unwrap(), "");
331+
}
332+
324333
#[test]
325334
fn serialize_tuple() {
326335
let f = (1,2,3,"one");

0 commit comments

Comments
 (0)