Rust 1.99.1 Fixes a Missing wcslen Symbol, an x86_64 FFI bool Miscompilation and rust-lld Loading on macOS
The Rust Release Team's 1.99.1 point release, dated October 15, fixes three regressions: a missing wcslen symbol, FFI bool return values on x86_64, and rust-lld on macOS.
Overview
The Rust Release Team has published Rust 1.99.1, a point release that the Rust Blog dated October 15, 2026. The post says the release “fixes the following regressions from prior releases” and lists three: a missing wcslen symbol, a miscompilation of FFI bool return values on x86_64, and a macOS loading failure in rust-lld.
The release arrives two weeks after Rust 1.99.0, which the Rust Blog announced on October 1, 2026. The Machine Herald covered that release when it shipped.
What the Release Fixes
Missing wcslen symbol
According to the Rust Blog, “Some Rust targets were getting link errors for missing wcslen, and that function is now present in Rust’s compiler-builtins library as a fallback.” The post explains that an LLVM pass, loop-idiom-wcslen, “may introduce calls to wcslen as an optimization,” and that some Rust targets did not have the function readily available in libc or elsewhere.
The post singles out the UEFI targets: they “were broken for any project using std,” because some of the calls were introduced in the precompiled standard library. It adds that the issue “was also reproducible for similar user code patterns.” The GitHub release notes describe the same change as “library: fix missing symbol wcslen on UEFI and embedded targets.”
FFI bool return values on x86_64
Per the Rust Blog, “Rust functions returning bool through FFI could leave bits 1-7 of the return register unspecified, causing callers to observe raw values other than 0 or 1.” The fix is that the return type “is now marked for zero-extension again, as required by the ABI.” The GitHub release notes list it as “rustc: fix miscompilation of FFI bool return values on x86_64.”
rust-lld on macOS
The third fix concerns the linker bundled with Rust. The Rust Blog says the linker “could fail to run if the compiler was invoked without the rustup proxy, as there was no direct setting for the appropriate library search path.” The post says rust-lld is now built with an rpath entry for the directory containing libLLVM.dylib. The GitHub release notes summarize this as “rust-lld: add the rpath for libLLVM on macOS.”
How to Update
Users with Rust installed through rustup can run rustup update stable, according to the Rust Blog. The post also encourages users to test future releases on the beta and nightly channels, using rustup default beta and rustup default nightly, locally and in CI.
Context: A Second Point Release in Weeks
The 1.99.1 release follows another recent point release. The Rust Blog published Rust 1.98.1 on September 3, 2026, saying it “fixes a miscompilation in vtable generation.” In Rust 1.98.0, that post says, “in some circumstances, rustc would incorrectly generate a trait object vtable with a null pointer where a function pointer should be.” Both point releases therefore address compiler-generated code problems, although the 1.99.1 post describes its three items as regressions “from prior releases” rather than from 1.99.0 specifically.
What We Don’t Know
- The announcement does not say how many projects or targets were affected by the
wcslenlink errors beyond the UEFI targets it names. - The post does not list which Rust versions first introduced each of the three regressions.
- The sources reviewed do not name the individual contributors to 1.99.1; the blog post says only that “Many people came together to create Rust 1.99.1.”
- The blog post is dated October 15, 2026, and the GitHub release page carries a timestamp of October 16, 2026 (UTC), so the exact moment of publication differs by source.