diff --git a/src/libstd/ffi/c_str.rs b/src/libstd/ffi/c_str.rs index d2a885dc7fe..c8d43bfcef0 100644 --- a/src/libstd/ffi/c_str.rs +++ b/src/libstd/ffi/c_str.rs @@ -522,6 +522,13 @@ impl ToOwned for CStr { } } +#[unstable(feature = "cstring_asref", reason = "recently added", issue = "0")] +impl<'a> From<&'a CStr> for CString { + fn from(s: &'a CStr) -> CString { + s.to_owned() + } +} + #[unstable(feature = "cstring_asref", reason = "recently added", issue = "0")] impl ops::Index for CString { type Output = CStr; @@ -532,13 +539,6 @@ impl ops::Index for CString { } } -#[unstable(feature = "cstring_asref", reason = "recently added", issue = "0")] -impl<'a, T: ?Sized + AsRef> From<&'a T> for CString { - fn from(s: &'a T) -> CString { - s.as_ref().to_owned() - } -} - #[unstable(feature = "cstring_asref", reason = "recently added", issue = "0")] impl AsRef for CStr { fn as_ref(&self) -> &CStr {