mirror of
https://github.com/pezkuwichain/serde.git
synced 2026-06-12 13:11:02 +00:00
Deserialize PathBuf from bytes
&Path already allows this. Also complete the tests for Path/PathBuf.
This commit is contained in:
@@ -1580,6 +1580,24 @@ impl<'de> Visitor<'de> for PathBufVisitor {
|
||||
{
|
||||
Ok(From::from(v))
|
||||
}
|
||||
|
||||
fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E>
|
||||
where
|
||||
E: Error,
|
||||
{
|
||||
str::from_utf8(v)
|
||||
.map(From::from)
|
||||
.map_err(|_| Error::invalid_value(Unexpected::Bytes(v), &self))
|
||||
}
|
||||
|
||||
fn visit_byte_buf<E>(self, v: Vec<u8>) -> Result<Self::Value, E>
|
||||
where
|
||||
E: Error,
|
||||
{
|
||||
String::from_utf8(v)
|
||||
.map(From::from)
|
||||
.map_err(|e| Error::invalid_value(Unexpected::Bytes(&e.into_bytes()), &self))
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
|
||||
Reference in New Issue
Block a user