Series: The Rust Annals

Vol. I Issue 53 nlopes.dev

Announcing Rust 1.52.0

Rust 1.52.0’s most significant change fixes Cargo’s handling of Clippy so that cargo clippy runs as expected even after cargo check. The release also stabilizes string-splitting, slice-partitioning, formatting, and character APIs, while making several character and byte operations usable in const contexts.

Cargo now distinguishes Clippy from ordinary checks

Previously, running cargo check followed by cargo clippy would not actually run Clippy because Cargo’s build cache did not distinguish between the two commands. Rust 1.52.0 fixes that caching behavior, so users get the expected result regardless of the order in which they run cargo check and cargo clippy.

New library APIs cover splitting, partitioning, formatting, and characters

This release stabilizes Arguments::as_str; the character constants char::MAX, char::REPLACEMENT_CHARACTER, and char::UNICODE_VERSION; the character functions char::decode_utf16, char::from_digit, char::from_u32_unchecked, and char::from_u32; slice::partition_point; and str::rsplit_once and str::split_once.

The previously stable APIs char::len_utf8, char::len_utf16, char::to_ascii_uppercase, char::to_ascii_lowercase, char::eq_ignore_ascii_case, u8::to_ascii_uppercase, u8::to_ascii_lowercase, and u8::eq_ignore_ascii_case are now usable in const contexts.

Reproduced from the Rust blog under its publication licence. Typeset in Literata.