|
| 1 | +Version 1.20.0 (2017-08-31) |
| 2 | +=========================== |
| 3 | + |
| 4 | +Language |
| 5 | +-------- |
| 6 | +- [Associated constants in traits is now stabilised.][42809] |
| 7 | +- [A lot of macro bugs are now fixed.][42913] |
| 8 | + |
| 9 | +Compiler |
| 10 | +-------- |
| 11 | + |
| 12 | +- [Struct fields are now properly to the expected field type.][42807] |
| 13 | +- [Enabled wasm LLVM backend][42571] WASM can now be built with the |
| 14 | + `wasm32-experimental-emscripten` target. |
| 15 | +- [Changed some of the error messages to be more helpful.][42033] |
| 16 | +- [Add support for RELRO(RELocation Read-Only) for platforms that support |
| 17 | + it.][43170] |
| 18 | +- [rustc now reports the total number of errors on compilation failure][43015] |
| 19 | + previously this was only the number of errors in the pass that failed. |
| 20 | +- [Expansion in rustc has been sped up 29x.][42533] |
| 21 | +- [added `msp430-none-elf` target.][43099] |
| 22 | +- [rustc will now suggest one-argument enum variant to fix type mismatch when |
| 23 | + applicable][43178] |
| 24 | +- [Fixes backtraces on Redox][43228] |
| 25 | +- [rustc now identifies different versions of same crate when absolute paths of |
| 26 | + different types match in an error message.][42826] |
| 27 | + |
| 28 | +Libraries |
| 29 | +--------- |
| 30 | + |
| 31 | +- [`Ref`, `RefMut`, `MutexGuard`, `RwLockReadGuard`, `RwLockWriteGuard` |
| 32 | + now impl `fmt::Display` & `fmt::Debug`.][42822] |
| 33 | +- [Relaxed Debug constraints on {HashMap,BTreeMap}::{Keys,Values}.][42854] |
| 34 | +- [Implement `PartialEq`, `Eq`, `PartialOrd`, `Ord`, `Debug`, `Hash` for unsized |
| 35 | + tuples.][43011] |
| 36 | +- [Impl `Clone` for `DefaultHasher`.][42799] |
| 37 | +- [Implement `Sync` for `SyncSender`.][42397] |
| 38 | +- [Fixed how `{f32, f64}::{is_sign_negative, is_sign_positive}` handles |
| 39 | + NaN.][42431] |
| 40 | +- [allow messages in the `unimplemented!()` macro.][42155] |
| 41 | + ie. `unimplemented!("Waiting for 1.21 to be stable")` |
| 42 | +- [`char`now impls `FromStr`.][42271] |
| 43 | +- [support pub(restricted) in thread_local! (round 2)][43185] |
| 44 | +- [Upgrade to Unicode 10.0.0][42999] |
| 45 | +- [Reimplemented `{f32, f64}::{min, max}` in Rust instead of using CMath.][42430] |
| 46 | +- [Skip the main thread's manual stack guard on Linux][43072] |
| 47 | +- [Iterator::nth for `ops::{Range, RangeFrom}` is now done in O(1) time][43077] |
| 48 | +- [`#cfg[align(N)]` attribute max number is now 2^31 - 1.][43097] This was |
| 49 | + previously 2^15. |
| 50 | +- [`{OsStr, Path}::Display` now avoids allocations where possible][42613] |
| 51 | + |
| 52 | +Stabilized APIs |
| 53 | +--------------- |
| 54 | + |
| 55 | +- [`Chain::get_mut`] |
| 56 | +- [`Chain::get_ref`] |
| 57 | +- [`Chain::into_inner`] |
| 58 | +- [`Take::get_mut`] |
| 59 | +- [`Take::get_ref`] |
| 60 | +- [`f32::from_bits`] |
| 61 | +- [`f32::to_bits`] |
| 62 | +- [`f64::from_bits`] |
| 63 | +- [`f64::to_bits`] |
| 64 | +- [`slice::sort_unstable`] |
| 65 | +- [`slice::sort_unstable_by`] |
| 66 | +- [`slice::sort_unstable_by_key`] |
| 67 | + |
| 68 | +Cargo |
| 69 | +----- |
| 70 | +- [Cargo API token location moved from `~/.cargo/config` to |
| 71 | + `~/cargo/credentials`.][cargo/3978] |
| 72 | +- [Cargo will now build multiple `main.rs` binaries in different |
| 73 | + directories.][cargo/4214] ie. Having `src/server/main.rs` and |
| 74 | + `src/client/main.rs` generates `target/debug/server` and `target/debug/client` |
| 75 | +- [You can now specify version of a binary when installed through |
| 76 | + `cargo install` using `--vers`.][cargo/4229] |
| 77 | +- [Added `--no-fail-fast` flag to cargo to run all benchmarks regardless of |
| 78 | + failure.][cargo/4248] |
| 79 | +- [Changed the convention around which file is the crate root.][cargo/4259] |
| 80 | +- [The `include`/`exclude` property in `Cargo.toml` now accepts gitignore paths |
| 81 | + instead of glob patterns][cargo/4270]. Glob patterns are now deprecated. |
| 82 | + |
| 83 | +Compatibility Notes |
| 84 | +------------------- |
| 85 | + |
| 86 | +- [Functions with `'static` in their return types will now not be as usable as |
| 87 | + if they were using lifetime parameters instead.][42417] |
| 88 | + |
| 89 | +[42033]: https://github.com/rust-lang/rust/pull/42033 |
| 90 | +[42155]: https://github.com/rust-lang/rust/pull/42155 |
| 91 | +[42271]: https://github.com/rust-lang/rust/pull/42271 |
| 92 | +[42397]: https://github.com/rust-lang/rust/pull/42397 |
| 93 | +[42417]: https://github.com/rust-lang/rust/pull/42417 |
| 94 | +[42430]: https://github.com/rust-lang/rust/pull/42430 |
| 95 | +[42431]: https://github.com/rust-lang/rust/pull/42431 |
| 96 | +[42533]: https://github.com/rust-lang/rust/pull/42533 |
| 97 | +[42571]: https://github.com/rust-lang/rust/pull/42571 |
| 98 | +[42613]: https://github.com/rust-lang/rust/pull/42613 |
| 99 | +[42799]: https://github.com/rust-lang/rust/pull/42799 |
| 100 | +[42807]: https://github.com/rust-lang/rust/pull/42807 |
| 101 | +[42809]: https://github.com/rust-lang/rust/pull/42809 |
| 102 | +[42822]: https://github.com/rust-lang/rust/pull/42822 |
| 103 | +[42826]: https://github.com/rust-lang/rust/pull/42826 |
| 104 | +[42854]: https://github.com/rust-lang/rust/pull/42854 |
| 105 | +[42913]: https://github.com/rust-lang/rust/pull/42913 |
| 106 | +[42999]: https://github.com/rust-lang/rust/pull/42999 |
| 107 | +[43011]: https://github.com/rust-lang/rust/pull/43011 |
| 108 | +[43015]: https://github.com/rust-lang/rust/pull/43015 |
| 109 | +[43072]: https://github.com/rust-lang/rust/pull/43072 |
| 110 | +[43077]: https://github.com/rust-lang/rust/pull/43077 |
| 111 | +[43097]: https://github.com/rust-lang/rust/pull/43097 |
| 112 | +[43099]: https://github.com/rust-lang/rust/pull/43099 |
| 113 | +[43170]: https://github.com/rust-lang/rust/pull/43170 |
| 114 | +[43178]: https://github.com/rust-lang/rust/pull/43178 |
| 115 | +[43185]: https://github.com/rust-lang/rust/pull/43185 |
| 116 | +[43228]: https://github.com/rust-lang/rust/pull/43228 |
| 117 | +[cargo/3978]: https://github.com/rust-lang/cargo/pull/3978 |
| 118 | +[cargo/4214]: https://github.com/rust-lang/cargo/pull/4214 |
| 119 | +[cargo/4229]: https://github.com/rust-lang/cargo/pull/4229 |
| 120 | +[cargo/4248]: https://github.com/rust-lang/cargo/pull/4248 |
| 121 | +[cargo/4259]: https://github.com/rust-lang/cargo/pull/4259 |
| 122 | +[cargo/4270]: https://github.com/rust-lang/cargo/pull/4270 |
| 123 | +[`Chain::get_mut`]: https://doc.rust-lang.org/std/io/struct.Chain.html#method.get_mut |
| 124 | +[`Chain::get_ref`]: https://doc.rust-lang.org/std/io/struct.Chain.html#method.get_ref |
| 125 | +[`Chain::into_inner`]: https://doc.rust-lang.org/std/io/struct.Chain.html#method.into_inner |
| 126 | +[`Take::get_mut`]: https://doc.rust-lang.org/std/io/struct.Take.html#method.get_mut |
| 127 | +[`Take::get_ref`]: https://doc.rust-lang.org/std/io/struct.Take.html#method.get_ref |
| 128 | +[`f32::from_bits`]: https://doc.rust-lang.org/std/primitive.f32.html#method.from_bits |
| 129 | +[`f32::to_bits`]: https://doc.rust-lang.org/std/primitive.f32.html#method.to_bits |
| 130 | +[`f64::from_bits`]: https://doc.rust-lang.org/std/primitive.f64.html#method.from_bits |
| 131 | +[`f64::to_bits`]: https://doc.rust-lang.org/std/primitive.f64.html#method.to_bits |
| 132 | +[`slice::sort_unstable_by_key`]: https://doc.rust-lang.org/std/primitive.slice.html#method.sort_unstable_by_key |
| 133 | +[`slice::sort_unstable_by`]: https://doc.rust-lang.org/std/primitive.slice.html#method.sort_unstable_by |
| 134 | +[`slice::sort_unstable`]: https://doc.rust-lang.org/std/primitive.slice.html#method.sort_unstable |
| 135 | + |
| 136 | + |
1 | 137 | Version 1.19.0 (2017-07-20)
|
2 | 138 | ===========================
|
3 | 139 |
|
@@ -1679,7 +1815,7 @@ Tooling
|
1679 | 1815 |
|
1680 | 1816 | * [Test binaries now support a `--test-threads` argument to specify the number
|
1681 | 1817 | of threads used to run tests, and which acts the same as the
|
1682 |
| - `RUST_TEST_THREADS` environment variable](https://github.com/rust-lang/rust/pull/35414) |
| 1818 | + `RUST_TEST_THREADS` environment variable](https://github.com/rust-lang/rust/pull/35414) |
1683 | 1819 | * [The test runner now emits a warning when tests run over 60 seconds](https://github.com/rust-lang/rust/pull/35405)
|
1684 | 1820 | * [rustdoc: Fix methods in search results](https://github.com/rust-lang/rust/pull/34752)
|
1685 | 1821 | * [`rust-lldb` warns about unsupported versions of LLDB](https://github.com/rust-lang/rust/pull/34646)
|
|
0 commit comments