Announcing Rust 1.99.1
The Rust team has released point version 1.99.1 of the Rust programming language. Rust empowers individuals to create dependable and productive software. If a user has an earlier version of Rust installed through rustup, upgrading to 1.99.1 can be done easily. Those without rustup can acquire it from the relevant webpage on the Rust website. The new release resolves several prior release issues.
One problem was the "missing symbol wcslen," which caused link errors for certain Rust targets. The compiler now includes wcslen as a fallback within its compiler-builtins library. Another issue related to the LLVM loop-idiom-wcslen pass, which might introduce calls to wcslen as an optimization, but some targets lacked this function in libc or other locations.
This particularly affected UEFI targets when using the standard library, as some calls were introduced precompiled but were also reproducible with user code patterns.
Additionally, Rust functions returning bool via foreign function interfaces (FFI) on x86_64 could have unspecified bits 1-7 of the return register, leading to callers observing raw values other than 0 or 1. This issue has been addressed by marking the return type to be zero-extended again, as required by the application binary interface (ABI).
Furthermore, the rust-lld linker failed to load libLLVM on macOS when invoked without the rustup proxy, as there was no direct setting for the appropriate library search path. The problem has been resolved by building rust-lld with an rpath entry for the directory containing libLLVM.dylib.
Those interested in assisting with future releases can test the beta (rustup default beta) and nightly (rustup default nightly) channels on their local machines and in their continuous integration (CI) systems. Any encountered bugs should be reported. The Rust team credits the collective efforts of numerous individuals who contributed to the creation of version 1.99.1.
Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.