Rust 1.45 Released, procedural macros stabilized to support Rocket

July 16, the development team of Mozilla programming language “Rust” announced the release of the latest version “Rust 1.45.0”.

The latest release Rust 1.45 is the successor of v1.44, released in June. There are two main improvements.

First, it has fixed the undefined behavior which occurred when casting a floating-point number that is bigger than an integer. This has been a long-standing issue since October 2013

The other notable change is the extended ability of the “function-like procedural macros”, which was stabilized in v1.30. It used to be that only gobject_gen! could be invoked in item position, but this release adds the ability to invoke procedural macros in expression, pattern, and statement positions. Thanks to this change, Rocket (a framework for Rust), which used to depend on nightly-only features, is now available in stable release.

This release has stabilized various APIs such as Arc::as_ptr and BTreeMap::remove_entry. It also made it possible to use char with ranges.

Rust 1.45 is available for download from the project website.