Add a TryFrom<Vec<u8>> impl that mirror from_vec_with_nul

This commit is contained in:
Alexis Bourget
2020-06-10 23:13:45 +02:00
parent b03164e667
commit 7f3bb398fa
+14
View File
@@ -1,6 +1,7 @@
use crate::ascii;
use crate::borrow::{Borrow, Cow};
use crate::cmp::Ordering;
use crate::convert::TryFrom;
use crate::error::Error;
use crate::fmt::{self, Write};
use crate::io;
@@ -853,6 +854,19 @@ fn from(v: Vec<NonZeroU8>) -> CString {
}
}
#[unstable(feature = "cstring_from_vec_with_nul", issue = "73179")]
impl TryFrom<Vec<u8>> for CString {
type Error = FromBytesWithNulError;
/// See the document about [`from_vec_with_nul`] for more
/// informations about the behaviour of this method.
///
/// [`from_vec_with_nul`]: struct.CString.html#method.from_vec_with_nul
fn try_from(value: Vec<u8>) -> Result<Self, Self::Error> {
Self::from_vec_with_nul(value)
}
}
#[stable(feature = "more_box_slice_clone", since = "1.29.0")]
impl Clone for Box<CStr> {
#[inline]