This site is being rebuilt and some pages are out of date. For current details, write to [email protected]. This notice goes away when the rebuild is done.

No analytics unless you allow it, no tracking. This site keeps in your browser the language you pick, the theme, its colour, which site you chose, the currency on the pricing page and that you closed this notice; signing in adds session cookies. The legal page has the details.

Sign in

Radar · Rust · Archive · Week 28 · Jul 6 – 12, 2026

Rust 1.97.0

Worth knowingtooling

What changed
The Rust team announced the availability of Rust 1.97.0, a new stable release that includes updated compiler diagnostics and a handful of standard‑library changes.
Production impact
The source does not say.
Try it
Run rustc --version to confirm you are on 1.97.0.
Source
blog.rust-lang.org/2026/07/09/Rust-1.97.0/

Understand it, then run it

Rust 1.97.0 brings a new default for how function names are turned into symbols in compiled binaries. The compiler now uses a Rust‑specific scheme that keeps generic types readable and removes the old mix of C++ style names. It also lets Cargo, the Rust package manager, decide what to do with warnings. You can tell Cargo to ignore them, treat them as errors, or leave them as normal warnings. The compiler will now show linker messages by default, so you can see if something goes wrong when the program is linked. Finally, a handful of small standard‑library functions that were already available are now usable in constant expressions.

Run it now

Todayrust
// This program demonstrates the new default symbol mangling and the
// Cargo warning control. It compiles with Rust 1.97.0 (edition 2024).
// The program prints a simple message and uses a const function that
// relies on the new const‑context stabilization of `char::is_control`.

const fn is_control(c: char) -> bool {
    // `char::is_control` is now stable in const contexts.
    c.is_control()
}

fn main() {
    // The symbol for this function will be mangled using the new scheme.
    println!("Control character 'A': {}", is_control('A'));
    println!("Control character '\\n': {}", is_control('\n'));
}

What it printed when we ran it on Rust 1.98.1 (edition 2024)

Control character 'A': false
Control character '\n': true

Run sends this program (for Solidity, the contract and its tests) to our own sandbox, where it is compiled and run once, with no network, and what it printed or the test report comes back here. Nothing is kept. Runs are counted per visitor for the day so everyone gets a turn; the details are on the legal page.

Written by gpt-oss-20b from the linked source · claims checked against the sources · archive, not individually reviewed