Remove unsafe Deserialize impl for CStr

See also https://github.com/rust-lang/rust/issues/40248
This commit is contained in:
Jon Gjengset
2017-03-03 17:33:56 -05:00
parent fc9d78e26b
commit be09fc9bbb
-13
View File
@@ -297,19 +297,6 @@ impl Deserialize for String {
///////////////////////////////////////////////////////////////////////////////
#[cfg(feature = "std")]
impl Deserialize for Box<CStr> {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer
{
use std::mem;
let s = try!(CString::deserialize(deserializer));
let slice = s.into_bytes_with_nul().into_boxed_slice();
Ok(unsafe { mem::transmute::<Box<[u8]>, Box<CStr>>(slice) })
}
}
#[cfg(feature = "std")]
impl Deserialize for CString {
fn deserialize<D>(deserializer: D) -> Result<CString, D::Error>