Use deserializer.visit_string for PathBuf

This commit is contained in:
Erick Tryzelaar 2016-01-28 09:45:38 -08:00
parent b3212f4c2b
commit 4507eaec5b
3 changed files with 18 additions and 1 deletions

View File

@ -762,7 +762,7 @@ impl Deserialize for path::PathBuf {
fn deserialize<D>(deserializer: &mut D) -> Result<path::PathBuf, D::Error>
where D: Deserializer,
{
deserializer.visit(PathBufVisitor)
deserializer.visit_string(PathBufVisitor)
}
}

View File

@ -1,4 +1,5 @@
use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet};
use std::path::PathBuf;
use num::FromPrimitive;
use num::bigint::{BigInt, BigUint};
@ -589,4 +590,9 @@ declare_tests! {
Token::SeqEnd,
],
}
test_path_buf {
PathBuf::from("/usr/local/lib") => vec![
Token::String("/usr/local/lib".to_owned()),
],
}
}

View File

@ -1,4 +1,5 @@
use std::collections::BTreeMap;
use std::path::{Path, PathBuf};
use num::FromPrimitive;
use num::bigint::{BigInt, BigUint};
@ -293,4 +294,14 @@ declare_ser_tests! {
Token::SeqEnd,
],
}
test_path {
Path::new("/usr/local/lib") => &[
Token::Str("/usr/local/lib"),
],
}
test_path_buf {
PathBuf::from("/usr/local/lib") => &[
Token::Str("/usr/local/lib"),
],
}
}