|
| 1 | +Version 1.36.0 (2019-07-04) |
| 2 | +========================== |
| 3 | + |
| 4 | +Language |
| 5 | +-------- |
| 6 | +- [Non-Lexical Lifetimes are now enabled on the 2015 edition.][59114] |
| 7 | +- [The order of traits in trait objects no longer affects the semantics of that |
| 8 | + object.][59445] e.g. `dyn Send + fmt::Debug` is now equivalent to |
| 9 | + `dyn fmt::Debug + Send`, where this was previously not the case. |
| 10 | + |
| 11 | +Libraries |
| 12 | +--------- |
| 13 | +- [`HashMap`'s implementation has been replaced with `hashbrown::HashMap` implementation.][58623] |
| 14 | +- [`TryFromSliceError` now implements `From<Infallible>`.][60318] |
| 15 | +- [`mem::needs_drop` is now available as a const fn.][60364] |
| 16 | +- [`alloc::Layout::from_size_align_unchecked` is now available as a const fn.][60370] |
| 17 | +- [`String` now implements `BorrowMut<str>`.][60404] |
| 18 | +- [`io::Cursor` now implements `Default`.][60234] |
| 19 | +- [Both `NonNull::{dangling, cast}` are now const fns.][60244] |
| 20 | +- [The `alloc` crate is now stable.][59675] `alloc` allows you to use a subset |
| 21 | + of `std` (e.g. `Vec`, `Box`, `Arc`) in `#![no_std]` environments if the |
| 22 | + environment has access to heap memory allocation. |
| 23 | +- [`String` now implements `From<&String>`.][59825] |
| 24 | +- [You can now pass multiple arguments to the `dbg!` macro.][59826] `dbg!` will |
| 25 | + return a tuple of each argument when there is multiple arguments. |
| 26 | +- [`Result::{is_err, is_ok}` are now `#[must_use]` and will produce a warning if |
| 27 | + not used.][59648] |
| 28 | + |
| 29 | +Stabilized APIs |
| 30 | +--------------- |
| 31 | +- [`VecDeque::rotate_left`] |
| 32 | +- [`VecDeque::rotate_right`] |
| 33 | +- [`Iterator::copied`] |
| 34 | +- [`io::IoSlice`] |
| 35 | +- [`io::IoSliceMut`] |
| 36 | +- [`Read::read_vectored`] |
| 37 | +- [`Write::write_vectored`] |
| 38 | +- [`str::as_mut_ptr`] |
| 39 | +- [`mem::MaybeUninit`] |
| 40 | +- [`pointer::align_offset`] |
| 41 | +- [`future::Future`] |
| 42 | +- [`task::Context`] |
| 43 | +- [`task::RawWaker`] |
| 44 | +- [`task::RawWakerVTable`] |
| 45 | +- [`task::Waker`] |
| 46 | +- [`task::Poll`] |
| 47 | + |
| 48 | +Cargo |
| 49 | +----- |
| 50 | +- [Cargo will now produce an error if you attempt to use the name of a required dependency as a feature.][cargo/6860] |
| 51 | +- [You can now pass the `--offline` flag to run cargo without accessing the network.][cargo/6934] |
| 52 | + |
| 53 | +You can find further change's in [Cargo's 1.36.0 release notes][cargo-1-36-0]. |
| 54 | + |
| 55 | +Clippy |
| 56 | +------ |
| 57 | +There have been numerous additions and fixes to clippy, see [Clippy's 1.36.0 release notes][clippy-1-36-0] for more details. |
| 58 | + |
| 59 | +Misc |
| 60 | +---- |
| 61 | + |
| 62 | +Compatibility Notes |
| 63 | +------------------- |
| 64 | +- With the stabilisation of `mem::MaybeUninit`, `mem::uninitialized` use is no |
| 65 | + longer recommended, and will be deprecated in 1.38.0. |
| 66 | + |
| 67 | +[60318]: https://github.com/rust-lang/rust/pull/60318/ |
| 68 | +[60364]: https://github.com/rust-lang/rust/pull/60364/ |
| 69 | +[60370]: https://github.com/rust-lang/rust/pull/60370/ |
| 70 | +[60404]: https://github.com/rust-lang/rust/pull/60404/ |
| 71 | +[60234]: https://github.com/rust-lang/rust/pull/60234/ |
| 72 | +[60244]: https://github.com/rust-lang/rust/pull/60244/ |
| 73 | +[58623]: https://github.com/rust-lang/rust/pull/58623/ |
| 74 | +[59648]: https://github.com/rust-lang/rust/pull/59648/ |
| 75 | +[59675]: https://github.com/rust-lang/rust/pull/59675/ |
| 76 | +[59825]: https://github.com/rust-lang/rust/pull/59825/ |
| 77 | +[59826]: https://github.com/rust-lang/rust/pull/59826/ |
| 78 | +[59445]: https://github.com/rust-lang/rust/pull/59445/ |
| 79 | +[59114]: https://github.com/rust-lang/rust/pull/59114/ |
| 80 | +[cargo/6860]: https://github.com/rust-lang/cargo/pull/6860/ |
| 81 | +[cargo/6934]: https://github.com/rust-lang/cargo/pull/6934/ |
| 82 | +[`VecDeque::rotate_left`]: https://doc.rust-lang.org/std/collections/struct.VecDeque.html#method.rotate_left |
| 83 | +[`VecDeque::rotate_right`]: https://doc.rust-lang.org/std/collections/struct.VecDeque.html#method.rotate_right |
| 84 | +[`Iterator::copied`]: https://doc.rust-lang.org/std/iter/trait.Iterator.html#tymethod.copied |
| 85 | +[`io::IoSlice`]: https://doc.rust-lang.org/std/io/struct.IoSlice.html |
| 86 | +[`io::IoSliceMut`]: https://doc.rust-lang.org/std/io/struct.IoSliceMut.html |
| 87 | +[`Read::read_vectored`]: https://doc.rust-lang.org/std/io/trait.Read.html#method.read_vectored |
| 88 | +[`Write::write_vectored`]: https://doc.rust-lang.org/std/io/trait.Write.html#method.write_vectored |
| 89 | +[`str::as_mut_ptr`]: https://doc.rust-lang.org/std/primitive.str.html#method.as_mut_ptr |
| 90 | +[`mem::MaybeUninit`]: https://doc.rust-lang.org/std/mem/union.MaybeUninit.html |
| 91 | +[`pointer::align_offset`]: https://doc.rust-lang.org/std/primitive.pointer.html#method.align_offset |
| 92 | +[`future::Future`]: https://doc.rust-lang.org/std/future/trait.Future.html |
| 93 | +[`task::Context`]: https://doc.rust-lang.org/beta/std/task/struct.Context.html |
| 94 | +[`task::RawWaker`]: https://doc.rust-lang.org/beta/std/task/struct.RawWaker.html |
| 95 | +[`task::RawWakerVTable`]: https://doc.rust-lang.org/beta/std/task/struct.RawWakerVTable.html |
| 96 | +[`task::Waker`]: https://doc.rust-lang.org/beta/std/task/struct.Waker.html |
| 97 | +[`task::Poll`]: https://doc.rust-lang.org/beta/std/task/enum.Poll.html |
| 98 | +[clippy-1-36-0]: https://github.com/rust-lang/rust-clippy/blob/master/CHANGELOG.md#rust-136 |
| 99 | +[cargo-1-36-0]: https://github.com/rust-lang/cargo/blob/master/CHANGELOG.md#cargo-136-2019-07-04 |
| 100 | + |
| 101 | + |
1 | 102 | Version 1.35.0 (2019-05-23)
|
2 | 103 | ==========================
|
3 | 104 |
|
|
62 | 163 | - [You can now set `cargo:rustc-cdylib-link-arg` at build time to pass custom
|
63 | 164 | linker arguments when building a `cdylib`.][cargo/6298] Its usage is highly
|
64 | 165 | platform specific.
|
65 |
| - |
| 166 | + |
66 | 167 | Misc
|
67 | 168 | ----
|
68 | 169 | - [The Rust toolchain is now available natively for musl based distros.][58575]
|
|
0 commit comments