diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2015-06-11 11:26:16 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2015-06-17 09:07:17 -0700 |
| commit | 913c2273eba32c7a33e068a5ac68007d7f8419d1 (patch) | |
| tree | f5c6bd762c1826a00a063a97074895c814140b45 | |
| parent | c9b40a30c0a8c5776920aec54039d0571e903f5a (diff) | |
| download | rust-913c2273eba32c7a33e068a5ac68007d7f8419d1.tar.gz rust-913c2273eba32c7a33e068a5ac68007d7f8419d1.zip | |
Add comment about stabilizing CString::from_ptr
This naming needs to consider the raw vs ptr naming of Box/CStr/CString/slice/etc.
| -rw-r--r-- | src/liballoc/boxed.rs | 2 | ||||
| -rw-r--r-- | src/libstd/ffi/c_str.rs | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/liballoc/boxed.rs b/src/liballoc/boxed.rs index 1a360ebc05c..1039756363e 100644 --- a/src/liballoc/boxed.rs +++ b/src/liballoc/boxed.rs @@ -124,6 +124,7 @@ impl<T : ?Sized> Box<T> { #[unstable(feature = "box_raw", reason = "may be renamed or moved out of Box scope")] #[inline] + // NB: may want to be called from_ptr, see comments on CStr::from_ptr pub unsafe fn from_raw(raw: *mut T) -> Self { mem::transmute(raw) } @@ -147,6 +148,7 @@ impl<T : ?Sized> Box<T> { /// ``` #[unstable(feature = "box_raw", reason = "may be renamed")] #[inline] + // NB: may want to be called into_ptr, see comments on CStr::from_ptr pub fn into_raw(b: Box<T>) -> *mut T { unsafe { mem::transmute(b) } } diff --git a/src/libstd/ffi/c_str.rs b/src/libstd/ffi/c_str.rs index becc697bcd9..ffc204ada60 100644 --- a/src/libstd/ffi/c_str.rs +++ b/src/libstd/ffi/c_str.rs @@ -206,6 +206,9 @@ impl CString { /// `into_ptr`. The length of the string will be recalculated /// using the pointer. #[unstable(feature = "cstr_memory", reason = "recently added")] + // NB: may want to be called from_raw, needs to consider CStr::from_ptr, + // Box::from_raw (or whatever it's currently called), and + // slice::from_raw_parts pub unsafe fn from_ptr(ptr: *const libc::c_char) -> CString { let len = libc::strlen(ptr) + 1; // Including the NUL byte let slice = slice::from_raw_parts(ptr, len as usize); @@ -221,6 +224,7 @@ impl CString { /// /// Failure to call `from_ptr` will lead to a memory leak. #[unstable(feature = "cstr_memory", reason = "recently added")] + // NB: may want to be called into_raw, see comments on from_ptr pub fn into_ptr(self) -> *const libc::c_char { // It is important that the bytes be sized to fit - we need // the capacity to be determinable from the string length, and |
