]> git.lizzy.rs Git - rust.git/blobdiff - RELEASES.md
Auto merge of #43858 - arielb1:escaping-default, r=eddyb
[rust.git] / RELEASES.md
index fa0c8a5f20614889635d0cff437356fccffb2697..7bf0bcab64066b886d1d5677f4ce0f46fcc9173a 100644 (file)
@@ -9,7 +9,7 @@ Language
 Compiler
 --------
 
-- [Struct fields are now properly to the expected field type.][42807]
+- [Struct fields are now properly coerced to the expected field type.][42807]
 - [Enabled wasm LLVM backend][42571] WASM can now be built with the
   `wasm32-experimental-emscripten` target.
 - [Changed some of the error messages to be more helpful.][42033]
@@ -28,50 +28,74 @@ Compiler
 Libraries
 ---------
 
-- [`Ref`, `RefMut`, `MutexGuard`, `RwLockReadGuard`, `RwLockWriteGuard`
-  now impl `fmt::Display` & `fmt::Debug`.][42822]
+
 - [Relaxed Debug constraints on `{HashMap,BTreeMap}::{Keys,Values}`.][42854]
-- [Implement `PartialEq`, `Eq`, `PartialOrd`, `Ord`, `Debug`, `Hash` for unsized
+- [Impl `PartialEq`, `Eq`, `PartialOrd`, `Ord`, `Debug`, `Hash` for unsized
   tuples.][43011]
+- [Impl `fmt::{Display, Debug}` for `Ref`, `RefMut`, `MutexGuard`,
+  `RwLockReadGuard`, `RwLockWriteGuard`][42822]
 - [Impl `Clone` for `DefaultHasher`.][42799]
-- [Implement `Sync` for `SyncSender`.][42397]
+- [Impl `Sync` for `SyncSender`.][42397]
+- [Impl `FromStr` for `char`][42271]
 - [Fixed how `{f32, f64}::{is_sign_negative, is_sign_positive}` handles
   NaN.][42431]
 - [allow messages in the `unimplemented!()` macro.][42155]
   ie. `unimplemented!("Waiting for 1.21 to be stable")`
-- [`char`now impls `FromStr`.][42271]
-- [support pub(restricted) in thread_local! (round 2)][43185]
+- [`pub(restricted)` is now supported in the `thread_local!` macro.][43185]
 - [Upgrade to Unicode 10.0.0][42999]
 - [Reimplemented `{f32, f64}::{min, max}` in Rust instead of using CMath.][42430]
 - [Skip the main thread's manual stack guard on Linux][43072]
 - [Iterator::nth for `ops::{Range, RangeFrom}` is now done in O(1) time][43077]
-- [`#cfg[align(N)]` attribute max number is now 2^31 - 1.][43097] This was
+- [`#[repr(align(N))]` attribute max number is now 2^31 - 1.][43097] This was
   previously 2^15.
 - [`{OsStr, Path}::Display` now avoids allocations where possible][42613]
 
 Stabilized APIs
 ---------------
 
+- [`CStr::into_c_string`]
+- [`CString::as_c_str`]
+- [`CString::into_boxed_c_str`]
 - [`Chain::get_mut`]
 - [`Chain::get_ref`]
 - [`Chain::into_inner`]
+- [`Option::get_or_insert_with`]
+- [`Option::get_or_insert`]
+- [`OsStr::into_os_string`]
+- [`OsString::into_boxed_os_str`]
 - [`Take::get_mut`]
 - [`Take::get_ref`]
+- [`Utf8Error::error_len`]
+- [`char::EscapeDebug`]
+- [`char::escape_debug`]
+- [`compile_error!`]
 - [`f32::from_bits`]
 - [`f32::to_bits`]
 - [`f64::from_bits`]
 - [`f64::to_bits`]
-- [`slice::sort_unstable`]
-- [`slice::sort_unstable_by`]
+- [`mem::ManuallyDrop`]
 - [`slice::sort_unstable_by_key`]
+- [`slice::sort_unstable_by`]
+- [`slice::sort_unstable`]
+- [`ste::from_boxed_utf8_unchecked`]
+- [`str::as_bytes_mut`]
+- [`str::as_bytes_mut`]
+- [`str::from_utf8_mut`]
+- [`str::from_utf8_unchecked_mut`]
+- [`str::get_mut`]
+- [`str::get_unchecked_mut`]
+- [`str::get_unchecked`]
+- [`str::get`]
+- [`str::into_boxed_bytes`]
+
 
 Cargo
 -----
 - [Cargo API token location moved from `~/.cargo/config` to
   `~/cargo/credentials`.][cargo/3978]
-- [Cargo will now build multiple `main.rs` binaries in different
-  directories.][cargo/4214] ie. Having `src/server/main.rs` and
-  `src/client/main.rs` generates `target/debug/server` and `target/debug/client`
+- [Cargo will now build `main.rs` binaries that are in sub-directories of
+  `src/bin`.][cargo/4214] ie. Having `src/bin/server/main.rs` and
+  `src/bin/client/main.rs` generates `target/debug/server` and `target/debug/client`
 - [You can now specify version of a binary when installed through
   `cargo install` using `--vers`.][cargo/4229]
 - [Added `--no-fail-fast` flag to cargo to run all benchmarks regardless of
@@ -85,6 +109,8 @@ Compatibility Notes
 
 - [Functions with `'static` in their return types will now not be as usable as
   if they were using lifetime parameters instead.][42417]
+- [The reimplementation of `{f32, f64}::is_sign_{negative, positive}` now
+  takes the sign of NaN into account where previously didn't.][42430] 
 
 [42033]: https://github.com/rust-lang/rust/pull/42033
 [42155]: https://github.com/rust-lang/rust/pull/42155
@@ -120,18 +146,40 @@ Compatibility Notes
 [cargo/4248]: https://github.com/rust-lang/cargo/pull/4248
 [cargo/4259]: https://github.com/rust-lang/cargo/pull/4259
 [cargo/4270]: https://github.com/rust-lang/cargo/pull/4270
+[`CStr::into_c_string`]: https://doc.rust-lang.org/std/ffi/struct.CStr.html#method.into_c_string
+[`CString::as_c_str`]: https://doc.rust-lang.org/std/ffi/struct.CString.html#method.as_c_str
+[`CString::into_boxed_c_str`]: https://doc.rust-lang.org/std/ffi/struct.CString.html#method.into_boxed_c_str
 [`Chain::get_mut`]: https://doc.rust-lang.org/std/io/struct.Chain.html#method.get_mut
 [`Chain::get_ref`]: https://doc.rust-lang.org/std/io/struct.Chain.html#method.get_ref
 [`Chain::into_inner`]: https://doc.rust-lang.org/std/io/struct.Chain.html#method.into_inner
+[`Option::get_or_insert_with`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.get_or_insert_with
+[`Option::get_or_insert`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.get_or_insert
+[`OsStr::into_os_string`]: https://doc.rust-lang.org/std/ffi/struct.OsStr.html#method.into_os_string
+[`OsString::into_boxed_os_str`]: https://doc.rust-lang.org/std/ffi/struct.OsString.html#method.into_boxed_os_str
 [`Take::get_mut`]: https://doc.rust-lang.org/std/io/struct.Take.html#method.get_mut
 [`Take::get_ref`]: https://doc.rust-lang.org/std/io/struct.Take.html#method.get_ref
+[`Utf8Error::error_len`]: https://doc.rust-lang.org/std/str/struct.Utf8Error.html#method.error_len
+[`char::EscapeDebug`]: https://doc.rust-lang.org/std/char/struct.EscapeDebug.html
+[`char::escape_debug`]: https://doc.rust-lang.org/std/primitive.char.html#method.escape_debug
+[`compile_error!`]: https://doc.rust-lang.org/std/macro.compile_error.html
 [`f32::from_bits`]: https://doc.rust-lang.org/std/primitive.f32.html#method.from_bits
 [`f32::to_bits`]: https://doc.rust-lang.org/std/primitive.f32.html#method.to_bits
 [`f64::from_bits`]: https://doc.rust-lang.org/std/primitive.f64.html#method.from_bits
 [`f64::to_bits`]: https://doc.rust-lang.org/std/primitive.f64.html#method.to_bits
+[`mem::ManuallyDrop`]: https://doc.rust-lang.org/std/mem/union.ManuallyDrop.html
 [`slice::sort_unstable_by_key`]: https://doc.rust-lang.org/std/primitive.slice.html#method.sort_unstable_by_key
 [`slice::sort_unstable_by`]: https://doc.rust-lang.org/std/primitive.slice.html#method.sort_unstable_by
 [`slice::sort_unstable`]: https://doc.rust-lang.org/std/primitive.slice.html#method.sort_unstable
+[`ste::from_boxed_utf8_unchecked`]: https://doc.rust-lang.org/std/str/fn.from_boxed_utf8_unchecked.html
+[`str::as_bytes_mut`]: https://doc.rust-lang.org/std/primitive.str.html#method.as_bytes_mut
+[`str::as_bytes_mut`]: https://doc.rust-lang.org/std/primitive.str.html#method.as_bytes_mut
+[`str::from_utf8_mut`]: https://doc.rust-lang.org/std/str/fn.from_utf8_mut.html
+[`str::from_utf8_unchecked_mut`]: https://doc.rust-lang.org/std/str/fn.from_utf8_unchecked_mut.html
+[`str::get_mut`]: https://doc.rust-lang.org/std/primitive.str.html#method.get_mut
+[`str::get_unchecked_mut`]: https://doc.rust-lang.org/std/primitive.str.html#method.get_unchecked_mut
+[`str::get_unchecked`]: https://doc.rust-lang.org/std/primitive.str.html#method.get_unchecked
+[`str::get`]: https://doc.rust-lang.org/std/primitive.str.html#method.get
+[`str::into_boxed_bytes`]: https://doc.rust-lang.org/std/primitive.str.html#method.into_boxed_bytes
 
 
 Version 1.19.0 (2017-07-20)