summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2015-06-11 11:26:16 -0700
committerAlex Crichton <alex@alexcrichton.com>2015-06-17 09:07:17 -0700
commit913c2273eba32c7a33e068a5ac68007d7f8419d1 (patch)
treef5c6bd762c1826a00a063a97074895c814140b45
parentc9b40a30c0a8c5776920aec54039d0571e903f5a (diff)
downloadrust-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.rs2
-rw-r--r--src/libstd/ffi/c_str.rs4
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