Another significant update is the improvement in inline assembly (asm!), which now allows jumps to labeled blocks within Rust code. This enhancement offers developers increased flexibility in low-level programming tasks by enabling the asm! macro to include label operands that function as jump targets. Execution will now proceed to the designated block when jumped to, leading to a more controlled flow of operations.
In celebration of the anniversary, the Rust community extends gratitude to all contributors who have helped shape the language over the years. This release follows the regular schedule established since Rust 1.0, incorporating all updates from the previous beta version over the last six weeks.
To upgrade to Rust 1.87.0, users with prior installations can simply run the command `$ rustup update stable`. New users can obtain Rust by downloading `rustup` from the official website, where they can also find detailed release notes for this version.
For those interested in participating in the development process and testing upcoming releases, it is recommended to switch to the beta channel (`rustup default beta`) or the nightly channel (`rustup default nightly`). Users are encouraged to report any bugs or issues encountered during their testing.
Looking ahead, the Rust community is excited to continue evolving the language and fostering its robust ecosystem as it embarks on another decade of innovation
Rust 1.87.0 released
Rust 1.87.0 has been released. The new release provides access to anonymous pipes, facilitating integration with the input/output methods of std::process::Command. This simplifies the process of combining stdout and stderr streams into a single output. Also, most std::arch intrinsics that are seen as unsafe because they require turning on certain target features can now be used in safe code when those features are enabled.
Inline assembly (asm!) now has the capability to jump to labeled blocks within Rust code, allowing for greater flexibility in low-level programming. The asm! macro now includes support for a label operand, functioning as a jump target. The block is executed upon being jumped to, and execution proceeds following the asm! block.