The Rust team released patch version 1.99.1. It fixes regressions involving x86_64 FFI bool returns, missing wcslen symbols on some targets, and rust-lld loading libLLVM on macOS. Rust official announcement
FFI connects code written in different languages. Passing Rust unit tests does not cover every boundary with an external caller. Include less frequently exercised targets, such as UEFI or cross-compiled builds, in the review.
On this page
A patch release can affect a narrow but important path
A regression is behavior that worked before a tool change and then fails or behaves incorrectly. A patch release can repair it, but a small version increment does not imply a small consequence for every project. These fixes concern language boundaries and target-specific linking, so map them to the architectures and integration paths that your project actually builds.
Compiler behavior extends beyond accepted source syntax. Calls introduced by optimization and a linker’s library-search path can affect the final executable. An ordinary development-machine build may never exercise a path used by another operating system or a firmware target. Distinguish successful compilation from correct runtime interaction when deciding what to retest.
Test the bool issue across the foreign-language boundary
FFI connects Rust functions with callers in another language such as C. The calling convention defines how arguments and return values are represented and exchanged. A boolean that appears correct within Rust can still cause trouble if the representation presented to the external caller violates that convention. A test crossing the real boundary is therefore more informative than only internal unit tests.
Use the actual architecture and calling convention in a small integration test, with the foreign-language caller checking both true and false. This explains the kind of boundary being repaired; it does not claim every function returning bool was affected. Compare the upstream regression scope with the project’s specific target and interface before drawing an impact conclusion.
Align the toolchain selected locally and in CI
A project can select Rust through a pinned toolchain file or a CI image. Updating a developer’s default stable channel may leave the repository build on its pinned version. The following read-only checks identify the compiler and active toolchain in the current directory. Record them alongside the CI configuration rather than assuming the machine’s default is the one used for release.
Then repeat the relevant UEFI or macOS builds and external-call tests. Review any workarounds introduced for the earlier failure, but do not remove them before verifying the corrected path. Include artifact signing and deployment in the release check so that the toolchain update is validated through the process producing the software that users receive.
rustc --version --verbose
rustup show active-toolchain
The second command may be unavailable outside a rustup-managed installation. In that case, inspect how the distribution package or build image selects its toolchain.
Tests for a patch-toolchain rollout
- Confirm the toolchain actually selected by the project and CI.
- Rebuild and test FFI boundaries and relevant UEFI or macOS targets.
- Verify artifact reproducibility and signing and deployment procedures.
This is a regression-fix release, not a promise of improved performance for every project. Start with the fixes relevant to your targets.
Announcement reference date: 2026-10-15 · Checked: October 24, 2026



