Popular: Data updated October 27, 2026

Categories

Internet1,356
Communication321
Audio & video898
Graphics & design539
Office & productivity1,124
Developer tools3,134
AI tools529
Security & privacy385
System tools3,114
Games523
Education & science239
Network & IT284

Rust (GNU LLVM) 1.94.0 download

A language empowering everyone to build reliable and efficient software.

This is an older version. The current version is 1.99.1. Rust (GNU LLVM) 1.99.1 · Released:

Installer files 1.94.0

ArchitectureTypeScopeFile sizeDownloadSHA256
64-bit MSI — — static.rust-lang.org VirusTotal
ARM64 MSI — — static.rust-lang.org VirusTotal

Link and SHA256 come from the Windows Package Manager community manifest. Compare the hash of the downloaded file before running it.

Release notes

Language
- Impls and impl items inherit dead_code lint level of the corresponding traits and trait items
- Stabilize additional 29 RISC-V target features including large portions of the RVA22U64 / RVA23U64 profiles
- Add warn-by-default unused_visibilities lint for visibility on const _ declarations
- Update to Unicode 17
- Avoid incorrect lifetime errors for closures
Platform Support
- Add riscv64im-unknown-none-elf as a tier 3 target
Refer to Rust's platform support page for more information on Rust's tiered platform support.
Libraries
- Relax T: Ord bound for some BinaryHeap<T> methods.
Stabilized APIs
- <[T]>::array_windows
- <[T]>::element_offset
- LazyCell::get
- LazyCell::get_mut
- LazyCell::force_mut
- LazyLock::get
- LazyLock::get_mut
- LazyLock::force_mut
- impl TryFrom<char> for usize
- std::iter::Peekable::next_if_map
- std::iter::Peekable::next_if_map_mut
- x86 avx512fp16 intrinsics (excluding those that depend directly on the unstable f16 type)
- AArch64 NEON fp16 intrinsics (excluding those that depend directly on the unstable f16 type)
- f32::consts::EULER_GAMMA
- f64::consts::EULER_GAMMA
- f32::consts::GOLDEN_RATIO
- f64::consts::GOLDEN_RATIO
These previously stable APIs are now stable in const contexts:
- f32::mul_add
- f64::mul_add
Cargo
- Stabilize the config include key. The top-level include config key allows loading additional config files, enabling better organization, sharing, and management of Cargo configurations across projects and environments. docs #16284
- Stabilize the pubtime field in registry index. This records when a crate version was published and enables time-based dependency resolution in the future. Note that crates.io will gradually backfill existing packages when a new version is published. Not all crates have pubtime yet. #16369 #16372
- Cargo now parses TOML v1.1 for manifests and configuration files. Note that using these features in Cargo.toml will raise your development MSRV, but the published manifest remains compatible with older parsers. #16415
- Make CARGO_BIN_EXE_<crate> available at runtime
Compatibility Notes
- Forbid freely casting lifetime bounds of dyn-types
- Make closure capturing have consistent and correct behaviour around patterns Some finer details of how precise closure captures get affected by pattern matching have been changed. In some cases, this can cause a non-move closure that was previously capturing an entire variable by move, to now capture only part of that variable by move, and other parts by borrow. This can cause the borrow checker to complain where it previously didn't, or cause Drop to run at a different point in time.
- Standard library macros are now imported via prelude, not via injected #[macro_use] This will raise an error if macros of the same name are glob imported. For example if a crate defines their own matches macro and then glob imports that, it's now ambiguous whether the custom or standard library matches is meant and an explicit import of the name is required to resolve the ambiguity. One exception is core::panic and std::panic, if their import is ambiguous a new warning (ambiguous_panic_imports) is raised. This may raise a new warning (ambiguous_panic_imports) on #![no_std] code glob importing the std crate. Both core::panic! and std::panic! are then in scope and which is used is ambiguous.
- Don't strip shebang in expression-context include!(…)s This can cause previously working includes to no longer compile if they included files which started with a shebang.
- Ambiguous glob reexports are now also visible cross-crate This unifies behavior between local and cross-crate errors on these exports, which may introduce new ambiguity errors.
- Don't normalize where-clauses before checking well-formedness
- Introduce a future compatibility warning on codegen attributes on body-free trait methods These attributes currently have no effect in this position.
- On Windows std::time::SystemTime::checked_sub_duration will return None for times before the Windows epoch (1/1/1601)
- Lifetime identifiers such as 'a are now NFC normalized.
- Overhaul filename handling for cross-compiler consistency Any paths emitted by compiler now always respect the relative-ness of the paths and --remap-path-prefix given originally. One side-effect of this change is that paths emitted for local crates in Cargo (path dependencies and workspace members) are no longer absolute but relative when emitted as part of a diagnostic in a downstream crate.
Internal Changes
These changes do not affect any public interfaces of Rust, but they represent significant improvements to the performance or internals of rustc and related tools.
- Switch to annotate-snippets for error emission This should preserve mostly the same outputs in rustc error messages.

https://github.com/rust-lang/rust/releases/tag/1.94.0

Most popular in Languages & SDKs

See all
  1. Go Programming LanguageAn open source programming language that makes it simple to build secure, scalable systems.
  2. LLVMA collection of modular and reusable compiler and toolchain technologies.
  3. DenoA modern runtime for JavaScript and TypeScript
  4. CMakeCMake is a cross-platform, open-source build system generator.
  5. YarnYarn is a package manager that doubles down as project manager. Whether you work on one-shot projects or large monorepos, as a hobbyist or an enterprise user, we've got you covered.
  6. CcacheCcache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.
  7. sbtA build tool for Scala, Java, and more
  8. BOINCOpen-source software for volunteer computing and grid computing.
  9. Dart SDKA set of tools and libraries for the Dart programming language.
  10. NVM for WindowsA node.js version management utility for Windows. Ironically written in Go.

More from The Rust Project Developers

See all
  • rust-analyzerrust-analyzer is a language server that provides IDE functionality for writing Rust programs. You can use it with any editor that supports the Language Server Protocol (VS Code, Vim, Emacs, Zed, etc).
  • Rust (GNU)A language empowering everyone to build reliable and efficient software.
  • Rust (MSVC)A language empowering everyone to build reliable and efficient software.

Tags

Share