diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2016-04-07 10:42:53 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2016-04-11 08:57:53 -0700 |
| commit | 552eda70d33cead1398adfecce1a75e7a61e3daf (patch) | |
| tree | 7562570d4bedab441ff8196a5a66585b9af2d55b /src/libcore/raw.rs | |
| parent | 8694b4ffe9b223c351e50c10bd8ea4e23af58baa (diff) | |
| download | rust-552eda70d33cead1398adfecce1a75e7a61e3daf.tar.gz rust-552eda70d33cead1398adfecce1a75e7a61e3daf.zip | |
std: Stabilize APIs for the 1.9 release
This commit applies all stabilizations, renamings, and deprecations that the library team has decided on for the upcoming 1.9 release. All tracking issues have gone through a cycle-long "final comment period" and the specific APIs stabilized/deprecated are: Stable * `std::panic` * `std::panic::catch_unwind` (renamed from `recover`) * `std::panic::resume_unwind` (renamed from `propagate`) * `std::panic::AssertUnwindSafe` (renamed from `AssertRecoverSafe`) * `std::panic::UnwindSafe` (renamed from `RecoverSafe`) * `str::is_char_boundary` * `<*const T>::as_ref` * `<*mut T>::as_ref` * `<*mut T>::as_mut` * `AsciiExt::make_ascii_uppercase` * `AsciiExt::make_ascii_lowercase` * `char::decode_utf16` * `char::DecodeUtf16` * `char::DecodeUtf16Error` * `char::DecodeUtf16Error::unpaired_surrogate` * `BTreeSet::take` * `BTreeSet::replace` * `BTreeSet::get` * `HashSet::take` * `HashSet::replace` * `HashSet::get` * `OsString::with_capacity` * `OsString::clear` * `OsString::capacity` * `OsString::reserve` * `OsString::reserve_exact` * `OsStr::is_empty` * `OsStr::len` * `std::os::unix::thread` * `RawPthread` * `JoinHandleExt` * `JoinHandleExt::as_pthread_t` * `JoinHandleExt::into_pthread_t` * `HashSet::hasher` * `HashMap::hasher` * `CommandExt::exec` * `File::try_clone` * `SocketAddr::set_ip` * `SocketAddr::set_port` * `SocketAddrV4::set_ip` * `SocketAddrV4::set_port` * `SocketAddrV6::set_ip` * `SocketAddrV6::set_port` * `SocketAddrV6::set_flowinfo` * `SocketAddrV6::set_scope_id` * `<[T]>::copy_from_slice` * `ptr::read_volatile` * `ptr::write_volatile` * The `#[deprecated]` attribute * `OpenOptions::create_new` Deprecated * `std::raw::Slice` - use raw parts of `slice` module instead * `std::raw::Repr` - use raw parts of `slice` module instead * `str::char_range_at` - use slicing plus `chars()` plus `len_utf8` * `str::char_range_at_reverse` - use slicing plus `chars().rev()` plus `len_utf8` * `str::char_at` - use slicing plus `chars()` * `str::char_at_reverse` - use slicing plus `chars().rev()` * `str::slice_shift_char` - use `chars()` plus `Chars::as_str` * `CommandExt::session_leader` - use `before_exec` instead. Closes #27719 cc #27751 (deprecating the `Slice` bits) Closes #27754 Closes #27780 Closes #27809 Closes #27811 Closes #27830 Closes #28050 Closes #29453 Closes #29791 Closes #29935 Closes #30014 Closes #30752 Closes #31262 cc #31398 (still need to deal with `before_exec`) Closes #31405 Closes #31572 Closes #31755 Closes #31756
Diffstat (limited to 'src/libcore/raw.rs')
| -rw-r--r-- | src/libcore/raw.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libcore/raw.rs b/src/libcore/raw.rs index 20c85b5efc1..19226d81f16 100644 --- a/src/libcore/raw.rs +++ b/src/libcore/raw.rs @@ -60,12 +60,17 @@ use mem; /// ``` #[repr(C)] #[allow(missing_debug_implementations)] +#[rustc_deprecated(reason = "use raw accessors/constructors in `slice` module", + since = "1.9.0")] +#[unstable(feature = "raw", issue = "27751")] pub struct Slice<T> { pub data: *const T, pub len: usize, } +#[allow(deprecated)] impl<T> Copy for Slice<T> {} +#[allow(deprecated)] impl<T> Clone for Slice<T> { fn clone(&self) -> Slice<T> { *self } } @@ -152,6 +157,9 @@ pub struct TraitObject { /// This trait is meant to map equivalences between raw structs and their /// corresponding rust values. +#[rustc_deprecated(reason = "use raw accessors/constructors in `slice` module", + since = "1.9.0")] +#[unstable(feature = "raw", issue = "27751")] pub unsafe trait Repr<T> { /// This function "unwraps" a rust value (without consuming it) into its raw /// struct representation. This can be used to read/write different values @@ -161,5 +169,7 @@ pub unsafe trait Repr<T> { fn repr(&self) -> T { unsafe { mem::transmute_copy(&self) } } } +#[allow(deprecated)] unsafe impl<T> Repr<Slice<T>> for [T] {} +#[allow(deprecated)] unsafe impl Repr<Slice<u8>> for str {} |
