Software-update: Rust 1.87.0

Rust logoRust is een programmeertaal bedacht door Graydon Hoare en oorspronkelijk ontwikkeld door Mozilla. Het is deels geïnspireerd op de programmeertaal C, maar kent syntactische en semantische verschillen. Het focust op veiligheid en moet moderne computersystemen efficiënter benutten. Het wordt ingezet door onder andere Cloudflare, OVH, Mozilla, Deliveroo, Coursera, AppSignal en Threema. Versie 1.87 is uitgebracht en de releasenotes voor die uitgave kunnen hieronder worden gevonden.

Anonymous pipes

1.87 adds access to anonymous pipes to the standard library. This includes integration with std::process::Command's input/output methods. For example, joining the stdout and stderr streams into one is now relatively straightforward, as shown below, while it used to require either extra threads or platform-specific functions.

Safe architecture intrinsics

Most std::arch intrinsics that are unsafe only due to requiring target features to be enabled are now callable in safe code that has those features enabled. For example, the following toy program which implements summing an array using manual intrinsics can now use safe code for the core loop.

asm! jumps to Rust code

Inline assembly (asm!) can now jump to labeled blocks within Rust code. This enables more flexible low-level programming, such as implementing optimized control flow in OS kernels or interacting with hardware more efficiently.

  • The asm! macro now supports a label operand, which acts as a jump target.
  • The label must be a block expression with a return type of () or !.
  • The block executes when jumped to, and execution continues after the asm! block.
  • Using output and label operands in the same asm! invocation remains unstable.

For more details, please consult the reference.

Precise capturing (+ use<...>) in impl Trait in trait definitions

This release stabilizes specifying the specific captured generic types and lifetimes in trait definitions using impl Trait return types. This allows using this feature in trait definitions, expanding on the stabilization for non-trait functions in 1.82.

Stabilized APIs

These previously stable APIs are now stable in const contexts:

i586-pc-windows-msvc target removal

The Tier 2 target i586-pc-windows-msvc has been removed. i586-pc-windows-msvc's difference to the much more popular Tier 1 target i686-pc-windows-msvc is that i586-pc-windows-msvc does not require SSE2 instruction support. But Windows 10, the minimum required OS version of all windows targets (except the win7 targets), requires SSE2 instructions itself. All users currently targeting i586-pc-windows-msvc should migrate to i686-pc-windows-msvc. You can check the Major Change Proposal for more information.

Other changes

Check out everything that changed in Rust, Cargo, and Clippy.

Rust

Versienummer 1.87.0
Releasestatus Final
Website The Rust Programming Language Blog
Download https://www.rust-lang.org/install.html
Licentietype Voorwaarden (GNU/BSD/etc.)

Door Bart van Klaveren

Downloads en Best Buy Guide

16-05-2025 • 10:32

1

Submitter: danmark_ori

Bron: The Rust Programming Language Blog

Update-historie

09-08 Rust 1.89.0 1
27-06 Rust 1.88.0 8
16-05 Rust 1.87.0 1
04-04 Rust 1.86.0 0
21-02 Rust 1.85.0 0
31-01 Rust 1.84.1 0
10-01 Rust 1.84.0 0
11-'24 Rust 1.83.0 5
09-'24 Rust 1.81.0 1
07-'24 Rust 1.80.0 8
Meer historie

Reacties (1)

1
1
0
0
0
1
Wijzig sortering
Bij mij loopt rust-analyzer soms vast in VSCode. Server herstarten werkt niet en het enige dat helpt is VSCode te herstarten.
In RustRover en Neovim heb ik hier helemaal geen last van.

Op dit item kan niet meer gereageerd worden.