Auto merge of #26605 - Ms2ger:raw-doc, r=alexcrichton
This commit is contained in:
commit
cb7d062155
3 changed files with 10 additions and 14 deletions
|
@ -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")]
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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));
|
||||
//! }
|
||||
//! ```
|
||||
|
|
Loading…
Add table
Reference in a new issue