|
| 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 | +- [Stabilize `-Z print-link-args` as `--print link-args`][91606] |
| 15 | +- [Add new Tier 3 target `mips64-openwrt-linux-musl`\*][92300] |
| 16 | +- [Add new Tier 3 target `armv7-unknown-linux-uclibceabi` (softfloat)\*][92383] |
| 17 | +- [Fix invalid removal of newlines from doc comments][92357] |
| 18 | +- [Add kernel target for RustyHermit][92670] |
| 19 | +- [Deny mixing bin crate type with lib crate types][92933] |
| 20 | +- [Make rustc use `RUST_BACKTRACE=full` by default][93566] |
| 21 | +- [Upgrade to LLVM 14][93577] |
| 22 | + |
| 23 | +\* Refer to Rust's [platform support page][platform-support-doc] for more |
| 24 | + information on Rust's tiered platform support. |
| 25 | + |
| 26 | +Libraries |
| 27 | +--------- |
| 28 | +- [Guarantee call order for `sort_by_cached_key`][89621] |
| 29 | +- [Improve `Duration::try_from_secs_f32`/`f64` accuracy by directly processing exponent and mantissa][90247] |
| 30 | +- [Make `Instant::{duration_since, elapsed, sub}` saturating][89926] |
| 31 | +- [Remove non-monotonic clocks workarounds in `Instant::now`][89926] |
| 32 | +- [Make `BuildHasherDefault`, `iter::Empty` and `future::Pending` covariant][92630] |
| 33 | + |
| 34 | +Stabilized APIs |
| 35 | +--------------- |
| 36 | +- [`Arc::new_cyclic`][arc_new_cyclic] |
| 37 | +- [`Rc::new_cyclic`][rc_new_cyclic] |
| 38 | +- [`slice::EscapeAscii`][slice_escape_ascii] |
| 39 | +- [`<[u8]>::escape_ascii`][slice_u8_escape_ascii] |
| 40 | +- [`u8::escape_ascii`][u8_escape_ascii] |
| 41 | +- [`Vec::spare_capacity_mut`][vec_spare_capacity_mut] |
| 42 | +- [`MaybeUninit::assume_init_drop`][assume_init_drop] |
| 43 | +- [`MaybeUninit::assume_init_read`][assume_init_read] |
| 44 | +- [`i8::abs_diff`][i8_abs_diff] |
| 45 | +- [`i16::abs_diff`][i16_abs_diff] |
| 46 | +- [`i32::abs_diff`][i32_abs_diff] |
| 47 | +- [`i64::abs_diff`][i64_abs_diff] |
| 48 | +- [`i128::abs_diff`][i128_abs_diff] |
| 49 | +- [`isize::abs_diff`][isize_abs_diff] |
| 50 | +- [`u8::abs_diff`][u8_abs_diff] |
| 51 | +- [`u16::abs_diff`][u16_abs_diff] |
| 52 | +- [`u32::abs_diff`][u32_abs_diff] |
| 53 | +- [`u64::abs_diff`][u64_abs_diff] |
| 54 | +- [`u128::abs_diff`][u128_abs_diff] |
| 55 | +- [`usize::abs_diff`][usize_abs_diff] |
| 56 | +- [`Display for io::ErrorKind`][display_error_kind] |
| 57 | +- [`From<u8> for ExitCode`][from_u8_exit_code] |
| 58 | +- [`Not for !` (the "never" type)][not_never] |
| 59 | +- [_Op_`Assign<$t> for Wrapping<$t>`][wrapping_assign_ops] |
| 60 | +- [`arch::is_aarch64_feature_detected!`][is_aarch64_feature_detected] |
| 61 | + |
| 62 | +Cargo |
| 63 | +----- |
| 64 | +- [Port cargo from `toml-rs` to `toml_edit`][cargo/10086] |
| 65 | +- [Stabilize `-Ztimings` as `--timings`][cargo/10245] |
| 66 | +- [Stabilize namespaced and weak dependency features.][cargo/10269] |
| 67 | +- [Accept more `cargo:rustc-link-arg-*` types from build script output.][cargo/10274] |
| 68 | +- [cargo-new should not add ignore rule on Cargo.lock inside subdirs][cargo/10379] |
| 69 | + |
| 70 | +Misc |
| 71 | +---- |
| 72 | +- [Ship docs on Tier 2 platforms by reusing the closest Tier 1 platform docs][92800] |
| 73 | +- [Drop rustc-docs from complete profile][93742] |
| 74 | +- [bootstrap: tidy up flag handling for llvm build][93918] |
| 75 | + |
| 76 | +Compatibility Notes |
| 77 | +------------------- |
| 78 | +- [Remove compiler-rt linking hack on Android][83822] |
| 79 | +- [Mitigations for platforms with non-monotonic clocks have been removed from |
| 80 | + `Instant::now`][89926]. On platforms that don't provide monotonic clocks, an |
| 81 | + instant is not guaranteed to be greater than an earlier instant anymore. |
| 82 | +- [`Instant::{duration_since, elapsed, sub}` do not panic anymore on underflow, |
| 83 | + saturating to `0` instead][89926]. In the real world the panic happened mostly |
| 84 | + on platforms with buggy monotonic clock implementations rather than catching |
| 85 | + programming errors like reversing the start and end times. Such programming |
| 86 | + errors will now results in `0` rather than a panic. |
| 87 | +- In a future release we're planning to increase the baseline requirements for |
| 88 | + the Linux kernel to version 3.2, and for glibc to version 2.17. We'd love |
| 89 | + your feedback in [PR #95026][95026]. |
| 90 | + |
| 91 | +Internal Changes |
| 92 | +---------------- |
| 93 | + |
| 94 | +These changes provide no direct user facing benefits, but represent significant |
| 95 | +improvements to the internals and overall performance of rustc |
| 96 | +and related tools. |
| 97 | + |
| 98 | +- [Switch all libraries to the 2021 edition][92068] |
| 99 | + |
| 100 | +[83822]: https://github.com/rust-lang/rust/pull/83822 |
| 101 | +[86374]: https://github.com/rust-lang/rust/pull/86374 |
| 102 | +[87487]: https://github.com/rust-lang/rust/pull/87487 |
| 103 | +[89621]: https://github.com/rust-lang/rust/pull/89621 |
| 104 | +[89926]: https://github.com/rust-lang/rust/pull/89926 |
| 105 | +[90132]: https://github.com/rust-lang/rust/pull/90132 |
| 106 | +[90247]: https://github.com/rust-lang/rust/pull/90247 |
| 107 | +[91606]: https://github.com/rust-lang/rust/pull/91606 |
| 108 | +[92068]: https://github.com/rust-lang/rust/pull/92068 |
| 109 | +[92300]: https://github.com/rust-lang/rust/pull/92300 |
| 110 | +[92357]: https://github.com/rust-lang/rust/pull/92357 |
| 111 | +[92383]: https://github.com/rust-lang/rust/pull/92383 |
| 112 | +[92630]: https://github.com/rust-lang/rust/pull/92630 |
| 113 | +[92670]: https://github.com/rust-lang/rust/pull/92670 |
| 114 | +[92800]: https://github.com/rust-lang/rust/pull/92800 |
| 115 | +[92933]: https://github.com/rust-lang/rust/pull/92933 |
| 116 | +[93566]: https://github.com/rust-lang/rust/pull/93566 |
| 117 | +[93577]: https://github.com/rust-lang/rust/pull/93577 |
| 118 | +[93658]: https://github.com/rust-lang/rust/pull/93658 |
| 119 | +[93742]: https://github.com/rust-lang/rust/pull/93742 |
| 120 | +[93824]: https://github.com/rust-lang/rust/pull/93824 |
| 121 | +[93918]: https://github.com/rust-lang/rust/pull/93918 |
| 122 | +[95026]: https://github.com/rust-lang/rust/pull/95026 |
| 123 | + |
| 124 | +[cargo/10086]: https://github.com/rust-lang/cargo/pull/10086 |
| 125 | +[cargo/10245]: https://github.com/rust-lang/cargo/pull/10245 |
| 126 | +[cargo/10269]: https://github.com/rust-lang/cargo/pull/10269 |
| 127 | +[cargo/10274]: https://github.com/rust-lang/cargo/pull/10274 |
| 128 | +[cargo/10379]: https://github.com/rust-lang/cargo/pull/10379 |
| 129 | + |
| 130 | +[arc_new_cyclic]: https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.new_cyclic |
| 131 | +[rc_new_cyclic]: https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.new_cyclic |
| 132 | +[slice_escape_ascii]: https://doc.rust-lang.org/stable/std/slice/struct.EscapeAscii.html |
| 133 | +[slice_u8_escape_ascii]: https://doc.rust-lang.org/stable/std/primitive.slice.html#method.escape_ascii |
| 134 | +[u8_escape_ascii]: https://doc.rust-lang.org/stable/std/primitive.u8.html#method.escape_ascii |
| 135 | +[vec_spare_capacity_mut]: https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.spare_capacity_mut |
| 136 | +[assume_init_drop]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_drop |
| 137 | +[assume_init_read]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_read |
| 138 | +[i8_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i8.html#method.abs_diff |
| 139 | +[i16_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i16.html#method.abs_diff |
| 140 | +[i32_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i32.html#method.abs_diff |
| 141 | +[i64_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i64.html#method.abs_diff |
| 142 | +[i128_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.i128.html#method.abs_diff |
| 143 | +[isize_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.isize.html#method.abs_diff |
| 144 | +[u8_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u8.html#method.abs_diff |
| 145 | +[u16_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u16.html#method.abs_diff |
| 146 | +[u32_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u32.html#method.abs_diff |
| 147 | +[u64_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u64.html#method.abs_diff |
| 148 | +[u128_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.u128.html#method.abs_diff |
| 149 | +[usize_abs_diff]: https://doc.rust-lang.org/stable/std/primitive.usize.html#method.abs_diff |
| 150 | +[display_error_kind]: https://doc.rust-lang.org/stable/std/io/enum.ErrorKind.html#impl-Display |
| 151 | +[from_u8_exit_code]: https://doc.rust-lang.org/stable/std/process/struct.ExitCode.html#impl-From%3Cu8%3E |
| 152 | +[not_never]: https://doc.rust-lang.org/stable/std/primitive.never.html#impl-Not |
| 153 | +[wrapping_assign_ops]: https://doc.rust-lang.org/stable/std/num/struct.Wrapping.html#trait-implementations |
| 154 | +[is_aarch64_feature_detected]: https://doc.rust-lang.org/stable/std/arch/macro.is_aarch64_feature_detected.html |
| 155 | + |
| 156 | +Version 1.59.0 (2022-02-24) |
| 157 | +========================== |
| 158 | + |
| 159 | +Language |
| 160 | +-------- |
| 161 | + |
| 162 | +- [Stabilize default arguments for const parameters and remove the ordering restriction for type and const parameters][90207] |
| 163 | +- [Stabilize destructuring assignment][90521] |
| 164 | +- [Relax private in public lint on generic bounds and where clauses of trait impls][90586] |
| 165 | +- [Stabilize asm! and global_asm! for x86, x86_64, ARM, Aarch64, and RISC-V][91728] |
| 166 | + |
| 167 | +Compiler |
| 168 | +-------- |
| 169 | + |
| 170 | +- [Stabilize new symbol mangling format, leaving it opt-in (-Csymbol-mangling-version=v0)][90128] |
| 171 | +- [Emit LLVM optimization remarks when enabled with `-Cremark`][90833] |
| 172 | +- [Fix sparc64 ABI for aggregates with floating point members][91003] |
| 173 | +- [Warn when a `#[test]`-like built-in attribute macro is present multiple times.][91172] |
| 174 | +- [Add support for riscv64gc-unknown-freebsd][91284] |
| 175 | +- [Stabilize `-Z emit-future-incompat` as `--json future-incompat`][91535] |
| 176 | +- [Soft disable incremental compilation][94124] |
| 177 | + |
| 178 | +This release disables incremental compilation, unless the user has explicitly |
| 179 | +opted in via the newly added RUSTC_FORCE_INCREMENTAL=1 environment variable. |
| 180 | +This is due to a known and relatively frequently occurring bug in incremental |
| 181 | +compilation, which causes builds to issue internal compiler errors. This |
| 182 | +particular bug is already fixed on nightly, but that fix has not yet rolled out |
| 183 | +to stable and is deemed too risky for a direct stable backport. |
| 184 | + |
| 185 | +As always, we encourage users to test with nightly and report bugs so that we |
| 186 | +can track failures and fix issues earlier. |
| 187 | + |
| 188 | +See [94124] for more details. |
| 189 | + |
| 190 | +[94124]: https://github.com/rust-lang/rust/issues/94124 |
| 191 | + |
| 192 | +Libraries |
| 193 | +--------- |
| 194 | + |
| 195 | +- [Remove unnecessary bounds for some Hash{Map,Set} methods][91593] |
| 196 | + |
| 197 | +Stabilized APIs |
| 198 | +--------------- |
| 199 | + |
| 200 | +- [`std::thread::available_parallelism`][available_parallelism] |
| 201 | +- [`Result::copied`][result-copied] |
| 202 | +- [`Result::cloned`][result-cloned] |
| 203 | +- [`arch::asm!`][asm] |
| 204 | +- [`arch::global_asm!`][global_asm] |
| 205 | +- [`ops::ControlFlow::is_break`][is_break] |
| 206 | +- [`ops::ControlFlow::is_continue`][is_continue] |
| 207 | +- [`TryFrom<char> for u8`][try_from_char_u8] |
| 208 | +- [`char::TryFromCharError`][try_from_char_err] |
| 209 | + implementing `Clone`, `Debug`, `Display`, `PartialEq`, `Copy`, `Eq`, `Error` |
| 210 | +- [`iter::zip`][zip] |
| 211 | +- [`NonZeroU8::is_power_of_two`][is_power_of_two8] |
| 212 | +- [`NonZeroU16::is_power_of_two`][is_power_of_two16] |
| 213 | +- [`NonZeroU32::is_power_of_two`][is_power_of_two32] |
| 214 | +- [`NonZeroU64::is_power_of_two`][is_power_of_two64] |
| 215 | +- [`NonZeroU128::is_power_of_two`][is_power_of_two128] |
| 216 | +- [`NonZeroUsize::is_power_of_two`][is_power_of_two_usize] |
| 217 | +- [`DoubleEndedIterator for ToLowercase`][lowercase] |
| 218 | +- [`DoubleEndedIterator for ToUppercase`][uppercase] |
| 219 | +- [`TryFrom<&mut [T]> for [T; N]`][tryfrom_ref_arr] |
| 220 | +- [`UnwindSafe for Once`][unwindsafe_once] |
| 221 | +- [`RefUnwindSafe for Once`][refunwindsafe_once] |
| 222 | +- [armv8 neon intrinsics for aarch64][stdarch/1266] |
| 223 | + |
| 224 | +Const-stable: |
| 225 | + |
| 226 | +- [`mem::MaybeUninit::as_ptr`][muninit_ptr] |
| 227 | +- [`mem::MaybeUninit::assume_init`][muninit_init] |
| 228 | +- [`mem::MaybeUninit::assume_init_ref`][muninit_init_ref] |
| 229 | +- [`ffi::CStr::from_bytes_with_nul_unchecked`][cstr_from_bytes] |
| 230 | + |
| 231 | +Cargo |
| 232 | +----- |
| 233 | + |
| 234 | +- [Stabilize the `strip` profile option][cargo/10088] |
| 235 | +- [Stabilize future-incompat-report][cargo/10165] |
| 236 | +- [Support abbreviating `--release` as `-r`][cargo/10133] |
| 237 | +- [Support `term.quiet` configuration][cargo/10152] |
| 238 | +- [Remove `--host` from cargo {publish,search,login}][cargo/10145] |
| 239 | + |
| 240 | +Compatibility Notes |
| 241 | +------------------- |
| 242 | + |
| 243 | +- [Refactor weak symbols in std::sys::unix][90846] |
| 244 | + This may add new, versioned, symbols when building with a newer glibc, as the |
| 245 | + standard library uses weak linkage rather than dynamically attempting to load |
| 246 | + certain symbols at runtime. |
| 247 | +- [Deprecate crate_type and crate_name nested inside `#![cfg_attr]`][83744] |
| 248 | + This adds a future compatibility lint to supporting the use of cfg_attr |
| 249 | + wrapping either crate_type or crate_name specification within Rust files; |
| 250 | + it is recommended that users migrate to setting the equivalent command line |
| 251 | + flags. |
| 252 | +- [Remove effect of `#[no_link]` attribute on name resolution][92034] |
| 253 | + This may expose new names, leading to conflicts with preexisting names in a |
| 254 | + given namespace and a compilation failure. |
| 255 | +- [Cargo will document libraries before binaries.][cargo/10172] |
| 256 | +- [Respect doc=false in dependencies, not just the root crate][cargo/10201] |
| 257 | +- [Weaken guarantee around advancing underlying iterators in zip][83791] |
| 258 | +- [Make split_inclusive() on an empty slice yield an empty output][89825] |
| 259 | +- [Update std::env::temp_dir to use GetTempPath2 on Windows when available.][89999] |
| 260 | +- [unreachable! was updated to match other formatting macro behavior on Rust 2021][92137] |
| 261 | + |
| 262 | +Internal Changes |
| 263 | +---------------- |
| 264 | + |
| 265 | +These changes provide no direct user facing benefits, but represent significant |
| 266 | +improvements to the internals and overall performance of rustc |
| 267 | +and related tools. |
| 268 | + |
| 269 | +- [Fix many cases of normalization-related ICEs][91255] |
| 270 | +- [Replace dominators algorithm with simple Lengauer-Tarjan][85013] |
| 271 | +- [Store liveness in interval sets for region inference][90637] |
| 272 | + |
| 273 | +- [Remove `in_band_lifetimes` from the compiler and standard library, in preparation for removing this |
| 274 | + unstable feature.][91867] |
| 275 | + |
| 276 | +[91867]: https://github.com/rust-lang/rust/issues/91867 |
| 277 | +[83744]: https://github.com/rust-lang/rust/pull/83744/ |
| 278 | +[83791]: https://github.com/rust-lang/rust/pull/83791/ |
| 279 | +[85013]: https://github.com/rust-lang/rust/pull/85013/ |
| 280 | +[89825]: https://github.com/rust-lang/rust/pull/89825/ |
| 281 | +[89999]: https://github.com/rust-lang/rust/pull/89999/ |
| 282 | +[90128]: https://github.com/rust-lang/rust/pull/90128/ |
| 283 | +[90207]: https://github.com/rust-lang/rust/pull/90207/ |
| 284 | +[90521]: https://github.com/rust-lang/rust/pull/90521/ |
| 285 | +[90586]: https://github.com/rust-lang/rust/pull/90586/ |
| 286 | +[90637]: https://github.com/rust-lang/rust/pull/90637/ |
| 287 | +[90833]: https://github.com/rust-lang/rust/pull/90833/ |
| 288 | +[90846]: https://github.com/rust-lang/rust/pull/90846/ |
| 289 | +[91003]: https://github.com/rust-lang/rust/pull/91003/ |
| 290 | +[91172]: https://github.com/rust-lang/rust/pull/91172/ |
| 291 | +[91255]: https://github.com/rust-lang/rust/pull/91255/ |
| 292 | +[91284]: https://github.com/rust-lang/rust/pull/91284/ |
| 293 | +[91535]: https://github.com/rust-lang/rust/pull/91535/ |
| 294 | +[91593]: https://github.com/rust-lang/rust/pull/91593/ |
| 295 | +[91728]: https://github.com/rust-lang/rust/pull/91728/ |
| 296 | +[91878]: https://github.com/rust-lang/rust/pull/91878/ |
| 297 | +[91896]: https://github.com/rust-lang/rust/pull/91896/ |
| 298 | +[91926]: https://github.com/rust-lang/rust/pull/91926/ |
| 299 | +[91984]: https://github.com/rust-lang/rust/pull/91984/ |
| 300 | +[92020]: https://github.com/rust-lang/rust/pull/92020/ |
| 301 | +[92034]: https://github.com/rust-lang/rust/pull/92034/ |
| 302 | +[92137]: https://github.com/rust-lang/rust/pull/92137/ |
| 303 | +[92483]: https://github.com/rust-lang/rust/pull/92483/ |
| 304 | +[cargo/10088]: https://github.com/rust-lang/cargo/pull/10088/ |
| 305 | +[cargo/10133]: https://github.com/rust-lang/cargo/pull/10133/ |
| 306 | +[cargo/10145]: https://github.com/rust-lang/cargo/pull/10145/ |
| 307 | +[cargo/10152]: https://github.com/rust-lang/cargo/pull/10152/ |
| 308 | +[cargo/10165]: https://github.com/rust-lang/cargo/pull/10165/ |
| 309 | +[cargo/10172]: https://github.com/rust-lang/cargo/pull/10172/ |
| 310 | +[cargo/10201]: https://github.com/rust-lang/cargo/pull/10201/ |
| 311 | +[cargo/10269]: https://github.com/rust-lang/cargo/pull/10269/ |
| 312 | + |
| 313 | +[cstr_from_bytes]: https://doc.rust-lang.org/stable/std/ffi/struct.CStr.html#method.from_bytes_with_nul_unchecked |
| 314 | +[muninit_ptr]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.as_ptr |
| 315 | +[muninit_init]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init |
| 316 | +[muninit_init_ref]: https://doc.rust-lang.org/stable/std/mem/union.MaybeUninit.html#method.assume_init_ref |
| 317 | +[unwindsafe_once]: https://doc.rust-lang.org/stable/std/sync/struct.Once.html#impl-UnwindSafe |
| 318 | +[refunwindsafe_once]: https://doc.rust-lang.org/stable/std/sync/struct.Once.html#impl-RefUnwindSafe |
| 319 | +[tryfrom_ref_arr]: https://doc.rust-lang.org/stable/std/convert/trait.TryFrom.html#impl-TryFrom%3C%26%27_%20mut%20%5BT%5D%3E |
| 320 | +[lowercase]: https://doc.rust-lang.org/stable/std/char/struct.ToLowercase.html#impl-DoubleEndedIterator |
| 321 | +[uppercase]: https://doc.rust-lang.org/stable/std/char/struct.ToUppercase.html#impl-DoubleEndedIterator |
| 322 | +[try_from_char_err]: https://doc.rust-lang.org/stable/std/char/struct.TryFromCharError.html |
| 323 | +[available_parallelism]: https://doc.rust-lang.org/stable/std/thread/fn.available_parallelism.html |
| 324 | +[result-copied]: https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.copied |
| 325 | +[result-cloned]: https://doc.rust-lang.org/stable/std/result/enum.Result.html#method.cloned |
| 326 | +[asm]: https://doc.rust-lang.org/stable/core/arch/macro.asm.html |
| 327 | +[global_asm]: https://doc.rust-lang.org/stable/core/arch/macro.global_asm.html |
| 328 | +[is_break]: https://doc.rust-lang.org/stable/std/ops/enum.ControlFlow.html#method.is_break |
| 329 | +[is_continue]: https://doc.rust-lang.org/stable/std/ops/enum.ControlFlow.html#method.is_continue |
| 330 | +[try_from_char_u8]: https://doc.rust-lang.org/stable/std/primitive.char.html#impl-TryFrom%3Cchar%3E |
| 331 | +[zip]: https://doc.rust-lang.org/stable/std/iter/fn.zip.html |
| 332 | +[is_power_of_two8]: https://doc.rust-lang.org/stable/core/num/struct.NonZeroU8.html#method.is_power_of_two |
| 333 | +[is_power_of_two16]: https://doc.rust-lang.org/stable/core/num/struct.NonZeroU16.html#method.is_power_of_two |
| 334 | +[is_power_of_two32]: https://doc.rust-lang.org/stable/core/num/struct.NonZeroU32.html#method.is_power_of_two |
| 335 | +[is_power_of_two64]: https://doc.rust-lang.org/stable/core/num/struct.NonZeroU64.html#method.is_power_of_two |
| 336 | +[is_power_of_two128]: https://doc.rust-lang.org/stable/core/num/struct.NonZeroU128.html#method.is_power_of_two |
| 337 | +[is_power_of_two_usize]: https://doc.rust-lang.org/stable/core/num/struct.NonZeroUsize.html#method.is_power_of_two |
| 338 | +[stdarch/1266]: https://github.com/rust-lang/stdarch/pull/1266 |
| 339 | + |
1 | 340 | Version 1.58.1 (2022-01-19)
|
2 | 341 | ===========================
|
3 | 342 |
|
@@ -876,7 +1215,7 @@ Version 1.52.1 (2021-05-10)
|
876 | 1215 | This release disables incremental compilation, unless the user has explicitly
|
877 | 1216 | opted in via the newly added RUSTC_FORCE_INCREMENTAL=1 environment variable.
|
878 | 1217 |
|
879 |
| -This is due to the widespread, and frequently occuring, breakage encountered by |
| 1218 | +This is due to the widespread, and frequently occurring, breakage encountered by |
880 | 1219 | Rust users due to newly enabled incremental verification in 1.52.0. Notably,
|
881 | 1220 | Rust users **should** upgrade to 1.52.0 or 1.52.1: the bugs that are detected by
|
882 | 1221 | newly added incremental verification are still present in past stable versions,
|
|
0 commit comments