Email me

Rust versions / 1.86

Rust release · Apr 3, 2025

Rust 1.86: what's new, what was stabilized

Short answerRust 1.86 was released on Apr 3, 2025: 1 language stabilization (Stabilize upcasting trait objects to supertraits.); 20 newly stable APIs ({float}::next_down, {float}::next_up, <[_]>::get_disjoint_mut, <[_]>::get_disjoint_unchecked_mut, ...); 4 compatibility notes that can affect existing code.

Apr 3, 2025release date
1language stabilizations
20APIs stabilized
-new edition

← Rust 1.85All versionsRust 1.87 →

Language features stabilized

  • Stabilize upcasting trait objects to supertraits.

20 APIs stabilized

{float}::next_down, {float}::next_up, <[_]>::get_disjoint_mut, <[_]>::get_disjoint_unchecked_mut, slice::GetDisjointMutError, HashMap::get_disjoint_mut, HashMap::get_disjoint_unchecked_mut, NonZero::count_ones, Vec::pop_if, sync::Once::wait, sync::Once::wait_force, sync::OnceLock::wait, hint::black_box, io::Cursor::get_mut, io::Cursor::set_position, str::is_char_boundary, str::split_at, str::split_at_checked, str::split_at_mut, str::split_at_mut_checked

Can it break my build?

The release lists these compatibility notes. Most only affect rare code, but read them before you raise your toolchain in CI:

Use it

rustup update stable        # get the newest release
rustup install 1.86          # or exactly this one
rustup override set 1.86     # pin a project to it

To require at least this version from users of your crate, set rust-version = "1.86" under [package] in Cargo.toml. Cargo then refuses to build it on older compilers with a clear message, and with resolver 3 (the default on the 2024 edition, Rust 1.85+) it also prefers dependency versions that support it.

Full release notes

Language

<a id="1.86.0-Compiler"></a>

Compiler

<a id="1.86.0-Platform-Support"></a>

Platform Support

Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support.

<a id="1.86.0-Libraries"></a>

Libraries

<a id="1.86.0-Stabilized-APIs"></a>

Stabilized APIs

These APIs are now stable in const contexts:

<a id="1.86.0-Cargo"></a>

Cargo

<a id="1.86.0-Rustdoc"></a>

Rustdoc

<a id="1.86.0-Compatibility-Notes"></a>

Compatibility Notes

<a id="1.86.0-Internal-Changes"></a>

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. 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.

Release notes from the Rust project's RELEASES.md (MIT or Apache-2.0); summaries above are ours.

← Rust 1.85All versionsRust 1.87 →

Up next

Next releaseRust 1.87Released May 15, 2025.Read it next →

Did this answer your question?

Get the receipts by email.

What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.

No spam, never sold. Every email has a one-click unsubscribe.

Popular in the shop

All 124 tools →

Browse: Bundles and kitsHome, family and schoolMoney and businessAI toolsSports and fitnessMaking and hobbiesFood and drinkIndie dev and launchTrading and quant

Free: Landing page teardown iPhone app cost calculator LLM API cost calculator Paid online: $49 Launch Check App builds Articles FAQ