Auto merge of #26605 - Ms2ger:raw-doc, r=alexcrichton

This commit is contained in:
bors 2015-06-26 22:44:44 +00:00
commit cb7d062155
3 changed files with 10 additions and 14 deletions

View file

@ -116,7 +116,7 @@ impl<T : ?Sized> Box<T> {
/// of `T` and releases memory. Since the way `Box` allocates and
/// releases memory is unspecified, the only valid pointer to pass
/// to this function is the one taken from another `Box` with
/// `boxed::into_raw` function.
/// `Box::into_raw` function.
///
/// Function is unsafe, because improper use of this function may
/// lead to memory problems like double-free, for example if the
@ -140,10 +140,8 @@ impl<T : ?Sized> Box<T> {
/// # Examples
/// ```
/// # #![feature(box_raw)]
/// use std::boxed;
///
/// let seventeen = Box::new(17u32);
/// let raw = boxed::into_raw(seventeen);
/// let raw = Box::into_raw(seventeen);
/// let boxed_again = unsafe { Box::from_raw(raw) };
/// ```
#[unstable(feature = "box_raw", reason = "may be renamed")]

View file

@ -76,9 +76,9 @@ fn deref() {
#[test]
fn raw_sized() {
let x = Box::new(17);
let p = Box::into_raw(x);
unsafe {
let x = Box::new(17);
let p = boxed::into_raw(x);
assert_eq!(17, *p);
*p = 19;
let y = Box::from_raw(p);
@ -105,9 +105,9 @@ fn raw_trait() {
}
}
let x: Box<Foo> = Box::new(Bar(17));
let p = Box::into_raw(x);
unsafe {
let x: Box<Foo> = Box::new(Bar(17));
let p = boxed::into_raw(x);
assert_eq!(17, (*p).get());
(*p).set(19);
let y: Box<Foo> = Box::from_raw(p);

View file

@ -50,14 +50,12 @@
//!
//! ```
//! # #![feature(box_raw)]
//! use std::boxed;
//! let my_speed: Box<i32> = Box::new(88);
//! let my_speed: *mut i32 = Box::into_raw(my_speed);
//!
//! // By taking ownership of the original `Box<T>` though
//! // we are obligated to put it together later to be destroyed.
//! unsafe {
//! let my_speed: Box<i32> = Box::new(88);
//! let my_speed: *mut i32 = boxed::into_raw(my_speed);
//!
//! // By taking ownership of the original `Box<T>` though
//! // we are obligated to put it together later to be destroyed.
//! drop(Box::from_raw(my_speed));
//! }
//! ```