Commit 3b2d187
committed
rust186: add a package for rust 1.86.0.
Upstream changes relative to 1.85.1:
Version 1.86.0 (2025-04-03)
==========================
Language
--------
- [Stabilize upcasting trait objects to supertraits.]
(rust-lang/rust#134367)
- [Allow safe functions to be marked with the `#[target_feature]` attribute.]
(rust-lang/rust#134090)
- [The `missing_abi` lint now warns-by-default.]
(rust-lang/rust#132397)
- Rust now lints about double negations, to catch cases that might
have intended to be a prefix decrement operator (`--x`) as written
in other languages. This was previously a clippy lint,
`clippy::double_neg`, and is [now available directly in Rust as
`double_negations`.]
(rust-lang/rust#126604)
- [More pointers are now detected as definitely not-null based on
their alignment in const eval.]
(rust-lang/rust#133700)
- [Empty `repr()` attribute applied to invalid items are now
correctly rejected.]
(rust-lang/rust#133925)
- [Inner attributes `#![test]` and `#![rustfmt::skip]` are no longer
accepted in more places than intended.]
(rust-lang/rust#134276)
Compiler
--------
- [Debug-assert that raw pointers are non-null on access.]
(rust-lang/rust#134424)
- [Change `-O` to mean `-C opt-level=3` instead of `-C opt-level=2`
to match Cargo's defaults.]
(rust-lang/rust#135439)
- [Fix emission of `overflowing_literals` under certain macro environments.]
(rust-lang/rust#136393)
Platform Support
----------------
- [Replace `i686-unknown-redox` target with `i586-unknown-redox`.]
(rust-lang/rust#136698)
- [Increase baseline CPU of `i686-unknown-hurd-gnu` to Pentium 4.]
(rust-lang/rust#136700)
- New tier 3 targets:
- [`{aarch64-unknown,x86_64-pc}-nto-qnx710_iosock`]
(rust-lang/rust#133631).
For supporting Neutrino QNX 7.1 with `io-socket` network stack.
- [`{aarch64-unknown,x86_64-pc}-nto-qnx800`]
(rust-lang/rust#133631).
For supporting Neutrino QNX 8.0 (`no_std`-only).
- [`{x86_64,i686}-win7-windows-gnu`]
(rust-lang/rust#134609).
Intended for backwards compatibility with Windows 7.
`{x86_64,i686}-win7-windows-msvc` are the Windows MSVC counterparts
that already exist as Tier 3 targets.
- [`amdgcn-amd-amdhsa`](rust-lang/rust#134740).
- [`x86_64-pc-cygwin`](rust-lang/rust#134999).
- [`{mips,mipsel}-mti-none-elf`]
(rust-lang/rust#135074).
Initial bare-metal support.
- [`m68k-unknown-none-elf`](rust-lang/rust#135085).
- [`armv7a-nuttx-{eabi,eabihf}`, `aarch64-unknown-nuttx`, and
`thumbv7a-nuttx-{eabi,eabihf}`]
(rust-lang/rust#135757).
Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.
Libraries
---------
- The type of `FromBytesWithNulError` in `CStr::from_bytes_with_nul(bytes:
&[u8]) -> Result<&Self, FromBytesWithNulError>` was [changed from
an opaque struct to an enum]
(rust-lang/rust#134143), allowing users
to examine why the conversion failed.
- [Remove `RustcDecodable` and `RustcEncodable`.]
(rust-lang/rust#134272)
- [Deprecate libtest's `--logfile` option.]
(rust-lang/rust#134283)
- [On recent versions of Windows, `std::fs::remove_file` will now
remove read-only files.]
(rust-lang/rust#134679)
Stabilized APIs
---------------
- [`{float}::next_down`]
(https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_down)
- [`{float}::next_up`]
(https://doc.rust-lang.org/stable/std/primitive.f64.html#method.next_up)
- [`<[_]>::get_disjoint_mut`]
(https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_mut)
- [`<[_]>::get_disjoint_unchecked_mut`]
(https://doc.rust-lang.org/stable/std/primitive.slice.html#method.get_disjoint_unchecked_mut)
- [`slice::GetDisjointMutError`]
(https://doc.rust-lang.org/stable/std/slice/enum.GetDisjointMutError.html)
- [`HashMap::get_disjoint_mut`]
(https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_mut)
- [`HashMap::get_disjoint_unchecked_mut`]
(https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.get_disjoint_unchecked_mut)
- [`NonZero::count_ones`]
(https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.count_ones)
- [`Vec::pop_if`]
(https://doc.rust-lang.org/std/vec/struct.Vec.html#method.pop_if)
- [`sync::Once::wait`]
(https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait)
- [`sync::Once::wait_force`]
(https://doc.rust-lang.org/stable/std/sync/struct.Once.html#method.wait_force)
- [`sync::OnceLock::wait`]
(https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html#method.wait)
These APIs are now stable in const contexts:
- [`hint::black_box`]
(https://doc.rust-lang.org/stable/std/hint/fn.black_box.html)
- [`io::Cursor::get_mut`]
(https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.get_mut)
- [`io::Cursor::set_position`]
(https://doc.rust-lang.org/stable/std/io/struct.Cursor.html#method.set_position)
- [`str::is_char_boundary`]
(https://doc.rust-lang.org/stable/std/primitive.str.html#method.is_char_boundary)
- [`str::split_at`]
(https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at)
- [`str::split_at_checked`]
(https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_checked)
- [`str::split_at_mut`]
(https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut)
- [`str::split_at_mut_checked`]
(https://doc.rust-lang.org/stable/std/primitive.str.html#method.split_at_mut_checked)
Cargo
-----
- [When merging, replace rather than combine configuration keys
that refer to a program path and its arguments.]
(rust-lang/cargo#15066)
- [Error if both `--package` and `--workspace` are passed but the
requested package is missing.]
(rust-lang/cargo#15071) This was previously
silently ignored, which was considered a bug since missing packages
should be reported.
- [Deprecate the token argument in `cargo login` to avoid shell history leaks.]
(rust-lang/cargo#15057)
- [Simplify the implementation of `SourceID` comparisons.]
(rust-lang/cargo#14980) This may
potentially change behavior if the canonicalized URL compares
differently in alternative registries.
Rustdoc
-----
- [Add a sans-serif font setting.]
(rust-lang/rust#133636)
Compatibility Notes
-------------------
- [The `wasm_c_abi` future compatibility warning is now a hard error.]
(rust-lang/rust#133951)
Users of `wasm-bindgen` should upgrade to at least version 0.2.89,
otherwise compilation will fail.
- [Remove long-deprecated no-op attributes `#![no_start]` and `#![crate_id]`.]
(rust-lang/rust#134300)
- [The future incompatibility lint `cenum_impl_drop_cast` has been
made into a hard error.]
(rust-lang/rust#135964) This means it is
now an error to cast a field-less enum to an integer if the enum
implements `Drop`.
- [SSE2 is now required for "i686" 32-bit x86 hard-float targets;
disabling it causes a warning that will become a hard error
eventually.]
(rust-lang/rust#137037) To compile for
pre-SSE2 32-bit x86, use a "i586" target instead.
Internal Changes
----------------
These changes do not affect any public interfaces of Rust, but they represent
significant improvements to the performance or internals of rustc and related
tools.
- [Build the rustc on AArch64 Linux with ThinLTO + PGO.]
(rust-lang/rust#133807)
The ARM 64-bit compiler (AArch64) on Linux is now optimized with
ThinLTO and PGO, similar to the optimizations we have already
performed for the x86-64 compiler on Linux. This should make it
up to 30% faster.1 parent 19539f3 commit 3b2d187
File tree
70 files changed
+3568
-0
lines changed- rust186
- files
- patches
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
70 files changed
+3568
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
0 commit comments