The Rust team has published a new point release of Rust, 1.99.1. Rust is a programming language that is empowering everyone to build reliable and efficient software.
If you have a previous version of Rust installed via rustup, getting Rust 1.99.1 is as easy as:
rustup update stable
If you don't have it already, you can get rustup from the appropriate page on our website.
What's in 1.99.1
Rust 1.99.1 fixes the following regressions from prior releases:
-
Missing symbol
wcslen: Some Rust targets were getting link errors for missingwcslen, and that function is now present in Rust's compiler-builtins library as a fallback.The LLVM
loop-idiom-wcslenpass may introduce calls towcslenas an optimization, and some Rust targets did not have that function readily available inlibcor elsewhere. The UEFI targets in particular were broken for any project usingstd, as some of these calls were introduced in the precompiled standard library, but the issue was also reproducible for similar user code patterns. -
Miscompilation of FFI
boolreturn values on x86_64: Rust functions returningboolthrough FFI could leave bits 1-7 of the return register unspecified, causing callers to observe raw values other than0or1. This return type is now marked for zero-extension again, as required by the ABI. -
rust-lldfailed to loadlibLLVMon macOS: This linker could fail to run if the compiler was invoked without therustupproxy, as there was no direct setting for the appropriate library search path. Nowrust-lldis built with anrpathentry for the directory containinglibLLVM.dylib.
If you'd like to help us out by testing future releases, you might consider using the beta (rustup default beta) and nightly (rustup default nightly) channels locally and in your CI. Please report any bugs you might come across!
Contributors to 1.99.1
Many people came together to create Rust 1.99.1. We couldn't have done it without all of you. Thanks!