|
| 1 | +Version 1.47.0 (2020-10-08) |
| 2 | +========================== |
| 3 | + |
| 4 | +Language |
| 5 | +-------- |
| 6 | +- [Closures will now warn when not used.][74869] |
| 7 | + |
| 8 | +Compiler |
| 9 | +-------- |
| 10 | +- [Stabilized the `-C control-flow-guard` codegen option][73893], which enables |
| 11 | + [Control Flow Guard][1.47.0-cfg] for Windows platforms, and is ignored on other |
| 12 | + platforms. |
| 13 | +- [Upgraded to LLVM 11.][73526] |
| 14 | +- [Added tier 3\* support for the `thumbv4t-none-eabi` target.][74419] |
| 15 | +- [Upgrade the FreeBSD toolchain to version 11.4][75204] |
| 16 | +- [`RUST_BACKTRACE`'s output is now more compact.][75048] |
| 17 | + |
| 18 | +\* Refer to Rust's [platform support page][forge-platform-support] for more |
| 19 | +information on Rust's tiered platform support. |
| 20 | + |
| 21 | +Libraries |
| 22 | +--------- |
| 23 | +- [`CStr` now implements `Index<RangeFrom<usize>>`.][74021] |
| 24 | +- [Traits in `std`/`core` are now implemented for arrays of any length, not just |
| 25 | + those of length less than 33.][74060] |
| 26 | +- [`ops::RangeFull` and `ops::Range` now implement Default.][73197] |
| 27 | +- [`panic::Location` now implements `Copy`, `Clone`, `Eq`, `Hash`, `Ord`, |
| 28 | + `PartialEq`, and `PartialOrd`.][73583] |
| 29 | + |
| 30 | +Stabilized APIs |
| 31 | +--------------- |
| 32 | +- [`Ident::new_raw`] |
| 33 | +- [`Range::is_empty`] |
| 34 | +- [`RangeInclusive::is_empty`] |
| 35 | +- [`Result::as_deref`] |
| 36 | +- [`Result::as_deref_mut`] |
| 37 | +- [`Vec::leak`] |
| 38 | +- [`pointer::offset_from`] |
| 39 | +- [`f32::TAU`] |
| 40 | +- [`f64::TAU`] |
| 41 | + |
| 42 | +The following previously stable APIs have now been made const. |
| 43 | + |
| 44 | +- [The `new` method for all `NonZero` integers.][73858] |
| 45 | +- [The `checked_add`,`checked_sub`,`checked_mul`,`checked_neg`, `checked_shl`, |
| 46 | + `checked_shr`, `saturating_add`, `saturating_sub`, and `saturating_mul` |
| 47 | + methods for all integers.][73858] |
| 48 | +- [The `checked_abs`, `saturating_abs`, `saturating_neg`, and `signum` for all |
| 49 | + signed integers.][73858] |
| 50 | +- [The `is_ascii_alphabetic`, `is_ascii_uppercase`, `is_ascii_lowercase`, |
| 51 | + `is_ascii_alphanumeric`, `is_ascii_digit`, `is_ascii_hexdigit`, |
| 52 | + `is_ascii_punctuation`, `is_ascii_graphic`, `is_ascii_whitespace`, and |
| 53 | + `is_ascii_control` methods for `char` and `u8`.][73858] |
| 54 | + |
| 55 | +Cargo |
| 56 | +----- |
| 57 | +- [`build-dependencies` are now built with opt-level 0 by default.][cargo/8500] |
| 58 | + You can override this by setting the following in your `Cargo.toml`. |
| 59 | + ```toml |
| 60 | + [profile.release.build-override] |
| 61 | + opt-level = 3 |
| 62 | + ``` |
| 63 | +- [`cargo-help` will now display man pages for commands rather just the |
| 64 | + `--help` text.][cargo/8456] |
| 65 | +- [`cargo-metadata` now emits a `test` field indicating if a target has |
| 66 | + tests enabled.][cargo/8478] |
| 67 | +- [`workspace.default-members` now respects `workspace.exclude`.][cargo/8485] |
| 68 | +- [`cargo-publish` will now use an alternative registry by default if it's the |
| 69 | + only registry specified in `package.publish`.][cargo/8571] |
| 70 | + |
| 71 | +Misc |
| 72 | +---- |
| 73 | +- [Added a help button beside Rustdoc's searchbar that explains rustdoc's |
| 74 | + type based search.][75366] |
| 75 | +- [Added the Ayu theme to rustdoc.][71237] |
| 76 | + |
| 77 | +Compatibility Notes |
| 78 | +------------------- |
| 79 | +- [Bumped the minimum supported Emscripten version to 1.39.20.][75716] |
| 80 | +- [Fixed a regression parsing `{} && false` in tail expressions.][74650] |
| 81 | +- [Added changes to how proc-macros are expanded in `macro_rules!` that should |
| 82 | + help to preserve more span information.][73084] These changes may cause |
| 83 | + compiliation errors if your macro was unhygenic or didn't correctly handle |
| 84 | + `Delimiter::None`. |
| 85 | +- [Moved support for the CloudABI target to tier 3.][75568] |
| 86 | +- [`linux-gnu` targets now require minimum kernel 2.6.32 and glibc 2.11.][74163] |
| 87 | +- [Added the `rustc-docs` component.][75560] This allows you to install |
| 88 | + and read the documentation for the compiler internal APIs. (Currently only |
| 89 | + available for `x86_64-unknown-linux-gnu`.) |
| 90 | + |
| 91 | +Internal Only |
| 92 | +-------- |
| 93 | +- [Improved default settings for bootstrapping in `x.py`.][73964] You can read details about this change in the ["Changes To `x.py` Defaults"](https://blog.rust-lang.org/inside-rust/2020/08/30/changes-to-x-py-defaults.html) post on the Inside Rust blog. |
| 94 | + |
| 95 | +[1.47.0-cfg]: https://docs.microsoft.com/en-us/windows/win32/secbp/control-flow-guard |
| 96 | +[75048]: https://github.com/rust-lang/rust/pull/75048/ |
| 97 | +[74163]: https://github.com/rust-lang/rust/pull/74163/ |
| 98 | +[71237]: https://github.com/rust-lang/rust/pull/71237/ |
| 99 | +[74869]: https://github.com/rust-lang/rust/pull/74869/ |
| 100 | +[73858]: https://github.com/rust-lang/rust/pull/73858/ |
| 101 | +[75716]: https://github.com/rust-lang/rust/pull/75716/ |
| 102 | +[75908]: https://github.com/rust-lang/rust/pull/75908/ |
| 103 | +[75516]: https://github.com/rust-lang/rust/pull/75516/ |
| 104 | +[75560]: https://github.com/rust-lang/rust/pull/75560/ |
| 105 | +[75568]: https://github.com/rust-lang/rust/pull/75568/ |
| 106 | +[75366]: https://github.com/rust-lang/rust/pull/75366/ |
| 107 | +[75204]: https://github.com/rust-lang/rust/pull/75204/ |
| 108 | +[74650]: https://github.com/rust-lang/rust/pull/74650/ |
| 109 | +[74419]: https://github.com/rust-lang/rust/pull/74419/ |
| 110 | +[73964]: https://github.com/rust-lang/rust/pull/73964/ |
| 111 | +[74021]: https://github.com/rust-lang/rust/pull/74021/ |
| 112 | +[74060]: https://github.com/rust-lang/rust/pull/74060/ |
| 113 | +[73893]: https://github.com/rust-lang/rust/pull/73893/ |
| 114 | +[73526]: https://github.com/rust-lang/rust/pull/73526/ |
| 115 | +[73583]: https://github.com/rust-lang/rust/pull/73583/ |
| 116 | +[73084]: https://github.com/rust-lang/rust/pull/73084/ |
| 117 | +[73197]: https://github.com/rust-lang/rust/pull/73197/ |
| 118 | +[72488]: https://github.com/rust-lang/rust/pull/72488/ |
| 119 | +[cargo/8456]: https://github.com/rust-lang/cargo/pull/8456/ |
| 120 | +[cargo/8478]: https://github.com/rust-lang/cargo/pull/8478/ |
| 121 | +[cargo/8485]: https://github.com/rust-lang/cargo/pull/8485/ |
| 122 | +[cargo/8500]: https://github.com/rust-lang/cargo/pull/8500/ |
| 123 | +[cargo/8571]: https://github.com/rust-lang/cargo/pull/8571/ |
| 124 | +[`Ident::new_raw`]: https://doc.rust-lang.org/nightly/proc_macro/struct.Ident.html#method.new_raw |
| 125 | +[`Range::is_empty`]: https://doc.rust-lang.org/nightly/std/ops/struct.Range.html#method.is_empty |
| 126 | +[`RangeInclusive::is_empty`]: https://doc.rust-lang.org/nightly/std/ops/struct.RangeInclusive.html#method.is_empty |
| 127 | +[`Result::as_deref_mut`]: https://doc.rust-lang.org/nightly/std/result/enum.Result.html#method.as_deref_mut |
| 128 | +[`Result::as_deref`]: https://doc.rust-lang.org/nightly/std/result/enum.Result.html#method.as_deref |
| 129 | +[`TypeId::of`]: https://doc.rust-lang.org/nightly/std/any/struct.TypeId.html#method.of |
| 130 | +[`Vec::leak`]: https://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#method.leak |
| 131 | +[`f32::TAU`]: https://doc.rust-lang.org/nightly/std/f32/consts/constant.TAU.html |
| 132 | +[`f64::TAU`]: https://doc.rust-lang.org/nightly/std/f64/consts/constant.TAU.html |
| 133 | +[`pointer::offset_from`]: https://doc.rust-lang.org/nightly/std/primitive.pointer.html#method.offset_from |
| 134 | + |
| 135 | + |
1 | 136 | Version 1.46.0 (2020-08-27)
|
2 | 137 | ==========================
|
3 | 138 |
|
|
0 commit comments