Function std::ptr::replace1.0.0[][src]

pub unsafe fn replace<T>(dest: *mut T, src: T) -> T

Moves src into the pointed dest, returning the previous dest value.

Neither value is dropped.

This function is semantically equivalent to mem::replace except that it operates on raw pointers instead of references. When references are available, mem::replace should be preferred.

Safety

Behavior is undefined if any of the following conditions are violated:

Examples

use std::ptr;

let mut rust = vec!['b', 'u', 's', 't'];

// `mem::replace` would have the same effect without requiring the unsafe
// block.
let b = unsafe {
    ptr::replace(&mut rust[0], 'r')
};

assert_eq!(b, 'b');
assert_eq!(rust, &['r', 'u', 's', 't']);Run