What changed, and why it matters
This commit is a routine development tooling update. It bumps the Rust compiler version used in Trezor's build environment from an older nightly (April 2025) to a newer one (March 2026), and adds one Rust language feature flag needed for the new compiler. There is no indication this fixes or introduces a security vulnerability.
No security action required. Treat as normal dependency/toolchain maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit updates the pinned nightly Rust toolchain in shell.nix from 2025-04-15 to 2026-03-16 and updates the documented minimum supported Rust version from 1.88 nightly to 1.96 nightly. It also adds #![feature(custom_test_frameworks)] in core/embed/rust/src/lib.rs, likely because newer Rust nightlies require this feature gate to be explicit when using reexport_test_harness_main. The change is purely CI/build infrastructure.
Changed components
core/embed/rust/src/lib.rsdocs/core/build/emulator.mdshell.nixInspect captured patch +4 / −2
diff --git a/core/embed/rust/src/lib.rs b/core/embed/rust/src/lib.rs
index d6bbb528..37ff77f9 100644
--- a/core/embed/rust/src/lib.rs
+++ b/core/embed/rust/src/lib.rs
@@ -10,6 +10,7 @@
#![feature(lang_items)]
#![feature(optimize_attribute)]
#![feature(trait_alias)]
+#![feature(custom_test_frameworks)]
#![no_main]
#![reexport_test_harness_main = "test_main"]
diff --git a/docs/core/build/emulator.md b/docs/core/build/emulator.md
index d5b8d314..ff70c02b 100644
--- a/docs/core/build/emulator.md
+++ b/docs/core/build/emulator.md
@@ -61,7 +61,7 @@ The protocol buffer compiler `protoc` is needed to (unsurprisingly) compile prot
## Rust
-You will require Rust and Cargo. The currently supported version is 1.88 nightly. The
+You will require Rust and Cargo. The currently supported version is 1.96 nightly. The
recommended way to install both is with [`rustup`](https://rustup.rs/). Make sure you
are up to date:
diff --git a/shell.nix b/shell.nix
index 008d751d..218c207f 100644
--- a/shell.nix
+++ b/shell.nix
@@ -5,6 +5,7 @@
let
# the last commit from master as of 2026-03-16
+ # when updating please also bump rustProfiles below
rustOverlay = import (builtins.fetchTarball {
url = "https://github.com/oxalica/rust-overlay/archive/f600ea449c7b5bb596fa1cf21c871cc5b9e31316.tar.gz";
sha256 = "0x70l5b4v5zljnwkzbv7yi5ld04vb75zb6wk620sfm6vd406166c";
@@ -51,7 +52,7 @@ let
done
'';
# NOTE: don't forget to update Minimum Supported Rust Version in docs/core/build/emulator.md
- rustProfiles = nixpkgs.rust-bin.nightly."2025-04-15";
+ rustProfiles = nixpkgs.rust-bin.nightly."2026-03-16";
rustNightly = rustProfiles.minimal.override {
targets = [
"thumbv7em-none-eabihf" # TT
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.