auto merge of #19152 : alexcrichton/rust/issue-17863, r=aturon
This commit is an implementation of [RFC 240][rfc] when applied to the standard library. It primarily deprecates the entirety of `string::raw`, `vec::raw`, `slice::raw`, and `str::raw` in favor of associated functions, methods, and other free functions. The detailed renaming is: * slice::raw::buf_as_slice => slice::from_raw_buf * slice::raw::mut_buf_as_slice => slice::from_raw_mut_buf * slice::shift_ptr => deprecated with no replacement * slice::pop_ptr => deprecated with no replacement * str::raw::from_utf8 => str::from_utf8_unchecked * str::raw::c_str_to_static_slice => str::from_c_str * str::raw::slice_bytes => deprecated for slice_unchecked (slight semantic diff) * str::raw::slice_unchecked => str.slice_unchecked * string::raw::from_parts => String::from_raw_parts * string::raw::from_buf_len => String::from_raw_buf_len * string::raw::from_buf => String::from_raw_buf * string::raw::from_utf8 => String::from_utf8_unchecked * vec::raw::from_buf => Vec::from_raw_buf All previous functions exist in their `#[deprecated]` form, and the deprecation messages indicate how to migrate to the newer variants. [rfc]: https://github.com/rust-lang/rfcs/blob/master/text/0240-unsafe-api-location.md [breaking-change] Closes #17863
This commit is contained in:
commit
641e2a110d
15 changed files with 304 additions and 208 deletions
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
use core::prelude::*;
|
||||
use core::iter::{range_step, Repeat};
|
||||
use core::slice::raw;
|
||||
use core::slice;
|
||||
|
||||
use {Rng, SeedableRng, Rand};
|
||||
|
||||
|
|
@ -234,12 +234,10 @@ impl Rand for IsaacRng {
|
|||
fn rand<R: Rng>(other: &mut R) -> IsaacRng {
|
||||
let mut ret = EMPTY;
|
||||
unsafe {
|
||||
let ptr = ret.rsl.as_mut_ptr();
|
||||
let ptr = ret.rsl.as_mut_ptr() as *mut u8;
|
||||
|
||||
raw::mut_buf_as_slice(ptr as *mut u8,
|
||||
(RAND_SIZE*4) as uint, |slice| {
|
||||
other.fill_bytes(slice);
|
||||
})
|
||||
let slice = slice::from_raw_mut_buf(&ptr, (RAND_SIZE * 4) as uint);
|
||||
other.fill_bytes(slice);
|
||||
}
|
||||
ret.cnt = 0;
|
||||
ret.a = 0;
|
||||
|
|
@ -469,12 +467,10 @@ impl Rand for Isaac64Rng {
|
|||
fn rand<R: Rng>(other: &mut R) -> Isaac64Rng {
|
||||
let mut ret = EMPTY_64;
|
||||
unsafe {
|
||||
let ptr = ret.rsl.as_mut_ptr();
|
||||
let ptr = ret.rsl.as_mut_ptr() as *mut u8;
|
||||
|
||||
raw::mut_buf_as_slice(ptr as *mut u8,
|
||||
(RAND_SIZE_64*8) as uint, |slice| {
|
||||
other.fill_bytes(slice);
|
||||
})
|
||||
let slice = slice::from_raw_mut_buf(&ptr, (RAND_SIZE_64 * 8) as uint);
|
||||
other.fill_bytes(slice);
|
||||
}
|
||||
ret.cnt = 0;
|
||||
ret.a = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue