Rust (GNU LLVM)

The Rust Project Developers·Rustlang.Rust.GNU.LLVM

A language empowering everyone to build reliable and efficient software.

The Rust programming language helps you write faster, more reliable software. High-level ergonomics and low-level control are often at odds in programming language design; Rust challenges that conflict. Through balancing powerful technical capacity and a great developer experience, Rust gives you the option to control low-level details (such as memory usage) without all the hassle traditionally associated with such control.

winget install --id Rustlang.Rust.GNU.LLVM --exact --source winget

Latest 1.97.0·July 9, 2026

Release Notes

Language

  • Consider Result<T, Uninhabited> and ControlFlow<Uninhabited, T> to be equivalent to T for must use lint
  • Add allow-by-default dead_code_pub_in_binary lint for unused pub items in binary crates
  • Stabilize the div32, lam-bh, lamcas, ld-seq-sa and scq target features
  • Stabilize cfg(target_has_atomic_primitive_alignment)
  • Allow trailing self in imports in more cases

Platform Support

  • nvptx64-nvidia-cuda: drop support for old architectures and old ISAs Refer to Rust's platform support page for more information on Rust's tiered platform support.

Stabilized APIs

  • Default for RepeatN
  • Copy for ffi::FromBytesUntilNulError
  • Send for std::fs::File on UEFI
  • <{integer}>::isolate_highest_one
  • <{integer}>::isolate_lowest_one
  • <{integer}>::highest_one
  • <{integer}>::lowest_one
  • <{integer}>::bit_width
  • NonZero<{integer}>::isolate_highest_one
  • NonZero<{integer}>::isolate_lowest_one
  • NonZero<{integer}>::highest_one
  • NonZero<{integer}>::lowest_one
  • NonZero<{integer}>::bit_width These previously stable APIs are now stable in const contexts:
  • char::is_control

Cargo

  • Stabilize build.warnings config. This controls how lint warnings from local packages are treated. Useful for enforcing a warning-free build in CI, replacing -Dwarnings. docs
  • Stabilize resolver.lockfile-path config. This allows specifying the path to the lockfile to use when resolving dependencies. Useful when working with read-only source directories. docs
  • cargo-clean: Error when --target-dir doesn't look like a Cargo target directory. This prevents accidental deletion of non-target directories.
  • Add -m shorthand for --manifest-path
  • Remove curl dependency from crates-io crate

Rustdoc

  • Stabilize --emit flag
  • Stabilize --remap-path-prefix

Compatibility Notes

  • Emit a future-compatibility warning when relying on f32: From<{float}> to constrain {float}
  • Rust will use the v0 symbol mangling scheme by default. This may cause some tools (such as debuggers or profilers, especially with old versions) to fail to demangle symbols emitted by Rust. It may also cause the formatting of text in backtraces to change.
  • Prevent deref coercions in pin!, in order to prevent unsoundness. The most likely case where this might impact users is: writing pin!(x) where x has type &mut T will now always correctly produce a value of type Pin<&mut &mut T>, instead of sometimes allowing a coercion that produces a value of type Pin<&mut T>. This coercion was previously incorrectly allowed since Rust 1.88.0.
  • Deprecate std::char constants and functions
  • Warn on linker output by default
  • Remove hidden f64 methods which have been deprecated since 1.0
  • report the varargs_without_pattern lint in deps
  • Forbid passing generic arguments to module path segments even if the module reexports a generic enum variant
  • Error on invalid macho link_section specifier
  • The encoding of certain enums have changed. This is not a breaking change, as it only applies to enums without layout guarantees, but is noted here as we've seen people impacted from having made assumptions about the layout algorithm.
  • Error on #[export_name = "..."] where the name is empty
  • Syntactically reject tuple index shorthands in struct patterns
  • validate #[link_name = "..."] & #[link(name = "...")] parameters
  • On Windows, after calling shutdown on a socket to shut down the write side, attempting to write to the socket will now produce a BrokenPipe error rather than Other. Map WSAESHUTDOWN to io::ErrorKind::BrokenPipe

Installer type: wix

ArchitectureScopeDownloadSHA256
x64DownloadF013B501D8CC8B51EAA115DF9000C0F9FF303B84CBE06EA260978F63D12209FD
arm64Download032B14451CA0332A4BDCF72A36A3BD07EF68891DDD298A5F363630ED4F64CE16

Details

Homepage
https://www.rust-lang.org/
License
Apache-2.0 AND MIT
Publisher
The Rust Project Developers
Support
https://users.rust-lang.org/
Privacy Policy
https://rustfoundation.org/policy/privacy-policy/
Copyright
Copyright (c) The Rust Project Contributors
Moniker
rust-gnu-llvm

Tags

cargoclippygnu-toolchainllvmrustcrustdocrustup

Older versions (13)

1.97.0
ArchitectureScopeDownloadSHA256
x64DownloadF013B501D8CC8B51EAA115DF9000C0F9FF303B84CBE06EA260978F63D12209FD
arm64Download032B14451CA0332A4BDCF72A36A3BD07EF68891DDD298A5F363630ED4F64CE16
1.96.1
ArchitectureScopeDownloadSHA256
x64DownloadD0CF82C67372FBEBC60AA46FEF2DFAFF6AF162BFA5F914D147F0BE4EBEAA21AE
arm64Download6EE0DB2588ABA991B3B87AE0F224A13488A19DBCFA3273958FE85A55940A3870
1.96.1
ArchitectureScopeDownloadSHA256
x64DownloadD0CF82C67372FBEBC60AA46FEF2DFAFF6AF162BFA5F914D147F0BE4EBEAA21AE
arm64Download6EE0DB2588ABA991B3B87AE0F224A13488A19DBCFA3273958FE85A55940A3870
1.96.0
ArchitectureScopeDownloadSHA256
x64DownloadF51DFD3B4DD183933321B7E0239EC316FD39435015D5CAF3A377273E9060CD10
arm64DownloadA6763781BABB2F97378DBCEE991F9150E6FB12853A278B9F553038D606BE76F1
1.96.0
ArchitectureScopeDownloadSHA256
x64DownloadF51DFD3B4DD183933321B7E0239EC316FD39435015D5CAF3A377273E9060CD10
arm64DownloadA6763781BABB2F97378DBCEE991F9150E6FB12853A278B9F553038D606BE76F1
1.95.0
ArchitectureScopeDownloadSHA256
x64Download43CFB45709F81A1A5A4DCE201B735AB269CA2FA7946A7DCCD6C215F01E1549F1
arm64Download83D345A1D51F5D684AAD509DA18CEDEC54B8C56D24FCD61D9AA9973B339C836D
1.95.0
ArchitectureScopeDownloadSHA256
x64Download43CFB45709F81A1A5A4DCE201B735AB269CA2FA7946A7DCCD6C215F01E1549F1
arm64Download83D345A1D51F5D684AAD509DA18CEDEC54B8C56D24FCD61D9AA9973B339C836D
1.94.1
ArchitectureScopeDownloadSHA256
x64Download71E700DAA3F9747AEF50DDEA65A1101A87569BD41560DC6396C37DA0FE6DE4B9
arm64Download48DB84B60547F04F4E57EAABCC6942F2D1AEF136664D3A7506EB79B3C4B13FE4
1.94.1
ArchitectureScopeDownloadSHA256
x64Download71E700DAA3F9747AEF50DDEA65A1101A87569BD41560DC6396C37DA0FE6DE4B9
arm64Download48DB84B60547F04F4E57EAABCC6942F2D1AEF136664D3A7506EB79B3C4B13FE4
1.94.0
ArchitectureScopeDownloadSHA256
x64Download3F0BB5E93847E0AEE20926C229C90C15AB6AEA0D13AEF5E4018DEFD82DF3587B
arm64DownloadA3ACFE3836789FE088101256E3CBDC9CAFF141BE0D9B7A73637DF7E5CAA49EF5
1.94.0
ArchitectureScopeDownloadSHA256
x64Download3F0BB5E93847E0AEE20926C229C90C15AB6AEA0D13AEF5E4018DEFD82DF3587B
arm64DownloadA3ACFE3836789FE088101256E3CBDC9CAFF141BE0D9B7A73637DF7E5CAA49EF5
1.93.1
ArchitectureScopeDownloadSHA256
x64Download17A5835A034F45C43066708ECFDAED83A8E692625A9BAC6B7B4ACAD54F68AC87
arm64Download1A2E1CDE908B3E50C805F553261C20A51F4B11EA76C8919E4BF8F968241AF0EC
1.93.1
ArchitectureScopeDownloadSHA256
x64Download17A5835A034F45C43066708ECFDAED83A8E692625A9BAC6B7B4ACAD54F68AC87
arm64Download1A2E1CDE908B3E50C805F553261C20A51F4B11EA76C8919E4BF8F968241AF0EC