Rust version 1.54 introduces some new stable features. Two additions are particularly interesting. One of them has to do with WebAssembly being used as a target platform, and the other is the use of macros in attributes.
This version also stabilizes some APIs and trait implementations, particularly in the standard collections.
It doesn’t come as a surprise that the additions to this version are not too flashy since the team is focused on the anticipated Rust 2021 edition, which should arrive in October.
SIMD
The schedule for releasing Rust 2021 indicates that it should be available by October 21. The public test phase for the third edition, after Rust 2015 and Rust 2018, has already begun.
This current release offers stability for some intrinsic functions for the wasm32 platform, which can be implemented using Single Instruction Multiple Data (SIMD) instructions. WebAssembly is designed to check code safety before execution, which ensures that the instructions are correctly decoded.
Several intrinsics for the wasm32 platform have also moved to stable in this release, to join already stabilized intrinsics like x86 and x86_64 that do not need safety requirements where they can only be called when the suitable target feature is enabled.
Incremental compilation
Incremental compilation has been re-enabled by default in version 1.54 after it was previously turned off by default in Rust 1.52.1. In Rust 1.52, additional validation was introduced when loading incremental compilation data, which led to several problems.
As such, the team made the decision to patch this with 1.52.1.
Since then, the team and contributors have been working to fix some of the issues. Version 1.53 came with some fixes, the majority of which are now in v1.54. Rust 2021 will be the third major edition of the language and could see increased adoption due to its inherent security features, which could be of some use in a world where cybercrime is getting worse.