Latest in branch 1.52
1.52.1
Released 10 May 2021
(5 years ago)
SoftwareRust
Version1.52
Initial release1.52.0
06 May 2021
(5 years ago)
Latest release1.52.1
10 May 2021
(5 years ago)
Support status18 Jun 2021
(Ended 4 years, 11 months ago)
Release noteshttps://github.com/rust-lang/rust/releases/tag/1.52.1
Source codehttps://github.com/rust-lang/rust/tree/1.52.1
Downloadhttps://github.com/rust-lang/rust/releases/tag/1.52.1
Rust 1.52 ReleasesView full list

What Is New in Rust 1.52

Category Highlights
New Features Several previously stable methods are now const, enabling their use in const contexts.
Improvements Cargo's build cache now distinguishes between `cargo check` and `cargo clippy`, fixing the Clippy-caching bug.

Why does `cargo clippy` now run correctly after `cargo check`?

In Rust 1.52 Cargo's incremental cache treats `cargo check` and `cargo clippy` as separate build steps, so Clippy is executed even if a prior `cargo check` populated the cache.

  • Before 1.52 the cache key was shared, causing `cargo clippy` to be a no-op after `cargo check`.
  • Now the two commands produce distinct artifacts, guaranteeing that linting runs on the latest code.
# Typical workflow with the fix
cargo check
cargo clippy -- -D warnings

In practice this means teams can keep their existing CI steps (`cargo check && cargo clippy`) without worrying about missed lint runs.

What const APIs were stabilized in Rust 1.52?

Rust 1.52 promotes several library methods to `const`, allowing them to be called in constant evaluation.

  • Methods on primitive types such as `u32::from_be_bytes` are now const.
  • Iterator adapters like `Iterator::next` remain non-const, but many slice utilities have become const.
const fn make_u32(bytes: [u8; 4]) -> u32 {
    u32::from_be_bytes(bytes)
}

This matters if you build compile-time tables or embed static data that previously required a runtime conversion.

What other notable changes arrived with Rust 1.52?

Beyond the Clippy cache fix and const API stabilizations, Rust 1.52 includes a handful of incremental improvements across the ecosystem.

  • Minor performance tweaks in the borrow checker that reduce compile time for large crates.
  • Updates to Cargo's resolver that improve handling of optional dependencies.
  • Clippy received new lints and documentation enhancements.

Most teams will see a smoother developer experience with no breaking changes required during upgrade.

Frequently Asked Questions

How do I upgrade to Rust 1.52?
Run rustup update stable from the command line.

Do I need to change my Cargo.toml after the 1.52 release?
No, the upgrade is drop-in and does not require manifest edits.

Will existing `cargo check` scripts still work?
Yes, they continue to work and now correctly trigger Clippy when called afterwards.

Can I use const methods in a const fn after upgrading?
Yes, you can call the newly const methods inside const fn blocks, for example u32::from_be_bytes.

Is there any impact on nightly features?
The stable const APIs were previously available on nightly, so nightly users see no regression.

What command shows the installed Rust version?
Run rustc --version to display the current compiler version.

Releases In Branch 1.52

VersionRelease date
1.52.110 May 2021
(5 years ago)
1.52.006 May 2021
(5 years ago)