|
| 1 | +Version 1.60.0 (2022-04-07) |
| 2 | +========================== |
| 3 | + |
| 4 | +Language |
| 5 | +-------- |
| 6 | +- [Stabilize `#[cfg(panic = "...")]` for either `"unwind"` or `"abort"`.][93658] |
| 7 | +- [Stabilize `#[cfg(target_has_atomic = "...")]` for each integer size and `"ptr"`.][93824] |
| 8 | + |
| 9 | +Compiler |
| 10 | +-------- |
| 11 | +- [Enable combining `+crt-static` and `relocation-model=pic` on `x86_64-unknown-linux-gnu`][86374] |
| 12 | +- [Fixes wrong `unreachable_pub` lints on nested and glob public reexport][87487] |
| 13 | +- [Stabilize `-Z instrument-coverage` as `-C instrument-coverage`][90132] |
| 14 | +- [Implement raw-dylib support for windows-gnu][90782] |
| 15 | +- [Stabilize `-Z print-link-args` as `--print link-args`][91606] |
| 16 | +- [`mips64-openwrt-linux-musl`: Add Tier 3 target][92300] |
| 17 | +- [Add new target `armv7-unknown-linux-uclibceabi` (softfloat)][92383] |
| 18 | +- [Fix invalid removal of newlines from doc comments][92357] |
| 19 | +- [Add kernel target for RustyHermit][92670] |
| 20 | +- [Deny mixing bin crate type with lib crate types][92933] |
| 21 | +- [Make rustc use `RUST_BACKTRACE=full` by default][93566] |
| 22 | +- [Upgrade to LLVM 14][93577] |
| 23 | + |
| 24 | +Libraries |
| 25 | +--------- |
| 26 | +- [Guarantee call order for `sort_by_cached_key`][89621] |
| 27 | +- [Improve `Duration::try_from_secs_f32`/`f64` accuracy by directly processing exponent and mantissa][90247] |
| 28 | +- [Switch all libraries to the 2021 edition][92068] |
| 29 | +- [Make `Instant::{duration_since, elapsed, sub}` saturating and remove workarounds][89926] |
| 30 | +- [Change PhantomData type for `BuildHasherDefault` (and more)][92630] |
| 31 | + |
| 32 | +Stabilized APIs |
| 33 | +--------------- |
| 34 | +- [`Arc::new_cyclic`][arc_new_cyclic] |
| 35 | +- [`Rc::new_cyclic`][rc_new_cyclic] |
| 36 | +- [`slice::EscapeAscii`][slice_escape_ascii] |
| 37 | +- [`<[u8]>::escape_ascii`][slice_u8_escape_ascii] |
| 38 | +- [`u8::escape_ascii`][u8_escape_ascii] |
| 39 | +- [`Vec::spare_capacity_mut`][vec_spare_capacity_mut] |
| 40 | +- [`MaybeUninit::assume_init_drop`][assume_init_drop] |
| 41 | +- [`MaybeUninit::assume_init_read`][assume_init_read] |
| 42 | +- [`i8::abs_diff`][i8_abs_diff] |
| 43 | +- [`i16::abs_diff`][i16_abs_diff] |
| 44 | +- [`i32::abs_diff`][i32_abs_diff] |
| 45 | +- [`i64::abs_diff`][i64_abs_diff] |
| 46 | +- [`i128::abs_diff`][i128_abs_diff] |
| 47 | +- [`isize::abs_diff`][isize_abs_diff] |
| 48 | +- [`u8::abs_diff`][u8_abs_diff] |
| 49 | +- [`u16::abs_diff`][u16_abs_diff] |
| 50 | +- [`u32::abs_diff`][u32_abs_diff] |
| 51 | +- [`u64::abs_diff`][u64_abs_diff] |
| 52 | +- [`u128::abs_diff`][u128_abs_diff] |
| 53 | +- [`usize::abs_diff`][usize_abs_diff] |
| 54 | +- [`Display for io::ErrorKind`][display_error_kind] |
| 55 | +- [`From<u8> for ExitCode`][from_u8_exit_code] |
| 56 | +- [`Not for !` (the "never" type)][not_never] |
| 57 | +- [_Op_`Assign<$t> for Wrapping<$t>`][wrapping_assign_ops] |
| 58 | +- [`arch::is_aarch64_feature_detected!`][is_aarch64_feature_detected] |
| 59 | + |
| 60 | +Cargo |
| 61 | +----- |
| 62 | +- [Print executable name on `cargo test --no-run`.][cargo/9959] |
| 63 | +- [Port cargo from `toml-rs` to `toml_edit`][cargo/10086] |
| 64 | +- [Stabilize `-Ztimings` as `--timings`][cargo/10245] |
| 65 | +- [Accept more `cargo:rustc-link-arg-*` types from build script output.][cargo/10274] |
| 66 | +- [cargo-new should not add ignore rule on Cargo.lock inside subdirs][cargo/10379] |
| 67 | + |
| 68 | +Misc |
| 69 | +---- |
| 70 | +- [Drop rustc-docs from complete profile][93742] |
| 71 | +- [bootstrap: tidy up flag handling for llvm build][93918] |
| 72 | + |
| 73 | +Compatibility Notes |
| 74 | +------------------- |
| 75 | +- [Remove compiler-rt linking hack on Android][83822] |
| 76 | +- [Remove deprecated LLVM-style inline assembly][92816] |
| 77 | +- [Reject unsupported naked functions][93153] |
| 78 | +- [Remove deprecated `--host` arg for cargo search and publish cmds][cargo/10327] |
| 79 | + |
| 80 | +Internal Changes |
| 81 | +---------------- |
| 82 | + |
| 83 | +These changes provide no direct user facing benefits, but represent significant |
| 84 | +improvements to the internals and overall performance of rustc |
| 85 | +and related tools. |
| 86 | + |
| 87 | +<!-- TODO: anything to highlight? --> |
| 88 | + |
| 89 | +[83822]: https://github.com/rust-lang/rust/pull/83822 |
| 90 | +[86374]: https://github.com/rust-lang/rust/pull/86374 |
| 91 | +[87487]: https://github.com/rust-lang/rust/pull/87487 |
| 92 | +[89621]: https://github.com/rust-lang/rust/pull/89621 |
| 93 | +[89926]: https://github.com/rust-lang/rust/pull/89926 |
| 94 | +[90132]: https://github.com/rust-lang/rust/pull/90132 |
| 95 | +[90247]: https://github.com/rust-lang/rust/pull/90247 |
| 96 | +[90782]: https://github.com/rust-lang/rust/pull/90782 |
| 97 | +[91606]: https://github.com/rust-lang/rust/pull/91606 |
| 98 | +[92068]: https://github.com/rust-lang/rust/pull/92068 |
| 99 | +[92300]: https://github.com/rust-lang/rust/pull/92300 |
| 100 | +[92357]: https://github.com/rust-lang/rust/pull/92357 |
| 101 | +[92383]: https://github.com/rust-lang/rust/pull/92383 |
| 102 | +[92630]: https://github.com/rust-lang/rust/pull/92630 |
| 103 | +[92670]: https://github.com/rust-lang/rust/pull/92670 |
| 104 | +[92816]: https://github.com/rust-lang/rust/pull/92816 |
| 105 | +[92933]: https://github.com/rust-lang/rust/pull/92933 |
| 106 | +[93153]: https://github.com/rust-lang/rust/pull/93153 |
| 107 | +[93566]: https://github.com/rust-lang/rust/pull/93566 |
| 108 | +[93577]: https://github.com/rust-lang/rust/pull/93577 |
| 109 | +[93658]: https://github.com/rust-lang/rust/pull/93658 |
| 110 | +[93742]: https://github.com/rust-lang/rust/pull/93742 |
| 111 | +[93824]: https://github.com/rust-lang/rust/pull/93824 |
| 112 | +[93918]: https://github.com/rust-lang/rust/pull/93918 |
| 113 | + |
| 114 | +[cargo/9959]: https://github.com/rust-lang/cargo/pull/9959 |
| 115 | +[cargo/10086]: https://github.com/rust-lang/cargo/pull/10086 |
| 116 | +[cargo/10245]: https://github.com/rust-lang/cargo/pull/10245 |
| 117 | +[cargo/10274]: https://github.com/rust-lang/cargo/pull/10274 |
| 118 | +[cargo/10379]: https://github.com/rust-lang/cargo/pull/10379 |
| 119 | +[cargo/10327]: https://github.com/rust-lang/cargo/pull/10327 |
| 120 | + |
| 121 | +[arc_new_cyclic]: https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.new_cyclic |
| 122 | +[rc_new_cyclic]: https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.new_cyclic |
| 123 | +[slice_escape_ascii]: https://doc.rust-lang.org/stable/std/slice/struct.EscapeAscii.html |
| 124 | +[slice_u8_escape_ascii]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.escape_ascii |
| 125 | +[u8_escape_ascii]: https://doc.rust-lang.org/stable/std/primitive.u8.html#method.escape_ascii |
| 126 | +[vec_spare_capacity_mut]: https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.spare_capacity_mut |
| 127 | +[assume_init_drop]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_drop |
| 128 | +[assume_init_read]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_read |
| 129 | +[i8_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i8.html#method.abs_diff |
| 130 | +[i16_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i16.html#method.abs_diff |
| 131 | +[i32_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i32.html#method.abs_diff |
| 132 | +[i64_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i64.html#method.abs_diff |
| 133 | +[i128_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i128.html#method.abs_diff |
| 134 | +[isize_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.isize.html#method.abs_diff |
| 135 | +[u8_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u8.html#method.abs_diff |
| 136 | +[u16_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u16.html#method.abs_diff |
| 137 | +[u32_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u32.html#method.abs_diff |
| 138 | +[u64_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u64.html#method.abs_diff |
| 139 | +[u128_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u128.html#method.abs_diff |
| 140 | +[usize_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.usize.html#method.abs_diff |
| 141 | +[display_error_kind]: https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#impl-Display |
| 142 | +[from_u8_exit_code]: https://doc.rust-lang.org/stable/std/process/struct.ExitCode.html#impl-From%3Cu8%3E |
| 143 | +[not_never]: https://doc.rust-lang.org/stable/std/primitive.never.html#impl-Not |
| 144 | +[wrapping_assign_ops]: https://doc.rust-lang.org/stable/std/num/struct.Wrapping.html#trait-implementations |
| 145 | +[is_aarch64_feature_detected]: https://doc.rust-lang.org/stable/std/arch/macro.is_aarch64_feature_detected.html |
| 146 | + |
1 | 147 | Version 1.59.0 (2022-02-24)
|
2 | 148 | ==========================
|
3 | 149 |
|
|
0 commit comments