The Rust team has published a new point release of Rust, 1.91.1. Rust is aprogramming language that is empowering everyone to build reliable andefficient software.
If you have a previous version of Rust installed via rustup, getting Rust1.91.1 is as easy as:
rustup update stableIf you don't have it already, you cangetrustup from theappropriate page on our website.
Rust 1.91.1 includes fixes for two regressions introduced in the 1.91.0 release.
Most targets supported by Rust identify symbols by their name, but Wasmidentifies them with a symbol nameand a Wasm module name. The#[link(wasm_import_module)] attribute allows tocustomize the Wasm module name anextern block refers to:
#[link(wasm_import_module="hello")]extern"C"{pubfnworld();}Rust 1.91.0 introduced a regression in the attribute, which could cause linkerfailures during compilation ("import module mismatch" errors) or the wrongfunction being used at runtime (leading to undefined behavior, including crashesand silent data corruption). This happened when the same symbol name wasimported from two different Wasm modules across multiple Rust crates.
Rust 1.91.1 fixes the regression. More details are available inissue #148347.
Cargo relies on locking thetarget/ directory during a build to preventconcurrent invocations of Cargo from interfering with each other. Not allfilesystems support locking (most notably some networked ones): if the OSreturns theUnsupported error when attempting to lock, Cargo assumes lockingis not supported and proceeds without it.
Cargo 1.91.0 switched from custom code interacting with the OS APIs to theFile::lock standard library method (recently stabilized in Rust 1.89.0). Dueto an oversight, that method always returnedUnsupported on the illumostarget, causing Cargo to never lock the build directory on illumos regardless ofwhether the filesystem supported it.
Rust 1.91.1 fixes the oversight in the standard library by enabling theFile::lock family of functions on illumos, indirectly fixing the Cargoregression.
Many people came together to create Rust 1.91.1. We couldn't have done itwithout all of you.Thanks!