Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
598865d
fix(self-update): rename triple to tuple in self_update
motorailgun Apr 26, 2026
b88c385
refactor(dist): rename TargetTriple to TargetTuple
motorailgun Apr 26, 2026
03dbc9d
refactor: remove PartialToochainDesc::has_triple() in favor to
motorailgun Apr 28, 2026
4c6b61e
refactor(dist): rename triple module to target_tuple
motorailgun Apr 27, 2026
8ea823a
refactor(dist): rename PartialTargetTriple to PartialTargetTuple
motorailgun Apr 26, 2026
ac38574
fix(dist): bulk rename triple to tuple for variables and messages
motorailgun Apr 26, 2026
aab28ff
docs: fix plural of VM in coding standards
Rohan5commit May 1, 2026
f8247a3
docs: fix the FileBuffer::clear doc comment wording
Rohan5commit Apr 28, 2026
62b3f74
test(download): support more feature flag combinations
rami3l Mar 20, 2026
42c4ae9
refactor: rename get_default_host_triple to default_host_tuple
motorailgun May 1, 2026
b36f64f
refactor: bulk rename triple to ruple
motorailgun May 1, 2026
e81f2be
refactor(tests): rename triple to tuple
motorailgun May 1, 2026
3bf41e5
chore(deps): lock file maintenance
renovate[bot] May 4, 2026
99ad743
Provide --yes alias for -y flag consistently
senekor May 6, 2026
5432f16
feat(config): add `Cfg` field to force-disable auto-installation
rami3l Apr 28, 2026
8b8eb52
refactor(cli/rustup-mode): refine usage of `stdout` term and locks in…
rami3l May 6, 2026
d0b9e9f
refactor(cli/rustup-mode): reduce rightward drift in `show()`
rami3l May 6, 2026
3e06a23
refactor(cli/rustup-mode): postpone eval of `active_toolchain` in `sh…
rami3l May 6, 2026
e12903a
refactor(cli/rustup-mode): postpone eval of `active_toolchain_targets…
rami3l May 5, 2026
9dbc7eb
fix(cli/rustup-mode)!: complete `rustup show` if active toolchain is …
rami3l May 5, 2026
0330fa3
chore: rename partially "Triple" to "Tuple" to reflect the new termin…
WaterWhisperer May 7, 2026
a5192ba
chore: rename internal tuple constants
WaterWhisperer May 7, 2026
08f955b
chore: document legacy default host setting
WaterWhisperer May 7, 2026
02f1702
test(download): also scrub `HTTP_PROXY` in `scrub_env()`
rami3l May 7, 2026
9c4bf47
chore(settings): add test to parse default_host_triple in toml
motorailgun May 8, 2026
d659d61
chore(settings): rename default_host_triple to default_host_tuple and
motorailgun May 8, 2026
d3ab302
feat(cli/self-update): refine wording of "already installed Rust" war…
rami3l May 8, 2026
26eb4b4
chore(deps): lock file maintenance
renovate[bot] May 11, 2026
162746a
Align shell setup comments in install message
MarcosBorgesPhD May 14, 2026
2240a97
fix(dist): propagate v2 manifest checksum failure instead of reportin…
cachebag Apr 24, 2026
c902393
test(dist): fail v2 manifest update when manifest disagrees with .sha256
cachebag Apr 24, 2026
8438baa
chore(deps): lock file maintenance
renovate[bot] May 18, 2026
796d483
test: make tests agnostic to external `RUSTUP_AUTO_INSTALL` and `RUST…
rami3l Aug 31, 2025
28c1d26
refactor(config): extract `EnsureInstalled<>` wrapper type
rami3l May 8, 2026
b9fa833
refactor(config): return `EnsureInstalled<>` from more functions
rami3l May 8, 2026
6287441
feat(config): warn user if auto-install is enabled
rami3l May 16, 2026
84dc4f3
fix(deps): update opentelemetry
renovate[bot] May 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
412 changes: 112 additions & 300 deletions Cargo.lock

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@ openssl = { version = "0.10", optional = true }
# HACK: Temporarily pinned due to ppc64 ELFv1/v2 ABI issue in 300.5.5, to be
# removed when <https://github.com/openssl/openssl/issues/29815> lands.
openssl-src = { version = "=300.5.4", optional = true }
opentelemetry = { version = "0.31", optional = true }
opentelemetry-otlp = { version = "0.31", features = ["grpc-tonic"], optional = true }
opentelemetry_sdk = { version = "0.31", features = ["rt-tokio"], optional = true }
opentelemetry = { version = "0.32", optional = true }
opentelemetry-otlp = { version = "0.32", features = ["grpc-tonic"], optional = true }
opentelemetry_sdk = { version = "0.32", features = ["rt-tokio"], optional = true }
platforms = "3.4"
pulldown-cmark = { version = "0.13", default-features = false }
rand = "0.10"
Expand Down Expand Up @@ -101,7 +101,7 @@ tokio-stream = "0.1.14"
toml = "1.0"
tracing = "0.1"
tracing-log = "0.2"
tracing-opentelemetry = { version = "0.32", optional = true }
tracing-opentelemetry = { version = "0.33", optional = true }
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
url = "2.4"
wait-timeout = "0.2"
Expand Down
2 changes: 1 addition & 1 deletion doc/dev-guide/src/coding-standards.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ which can build up over time.

## Writing platform-specific code

For developers using BSD/Linux/Mac OS, there are Windows VM's suitable for such
For developers using BSD/Linux/Mac OS, there are Windows VMs suitable for such
development tasks for use with virtualbox and other hypervisors are downloadable
from
[Microsoft](https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/).
Expand Down
4 changes: 2 additions & 2 deletions doc/user-guide/src/installation/other.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ which is a `brew`-managed `rust` toolchain installation.
## Manual installation

You can manually download `rustup-init` for a given target from
`https://static.rust-lang.org/rustup/dist/{target-triple}/rustup-init[.exe]`[^msys2] [^msvc].
`https://static.rust-lang.org/rustup/dist/{target-tuple}/rustup-init[.exe]`[^msys2] [^msvc].

<details>
<summary>Direct links</summary>
Expand Down Expand Up @@ -187,7 +187,7 @@ You can manually download `rustup-init` for a given target from
</details>

To get a previous version, use
`https://static.rust-lang.org/rustup/archive/{rustup-version}/{target-triple}/rustup-init[.exe]`.
`https://static.rust-lang.org/rustup/archive/{rustup-version}/{target-tuple}/rustup-init[.exe]`.

SHA-256 checksums are also available by appending `.sha256` to the link.

Expand Down
2 changes: 1 addition & 1 deletion doc/user-guide/src/installation/windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ a target tuple of either `i686-pc-windows-msvc`, `x86_64-pc-windows-msvc`, or `a
depending on the CPU architecture of the host Windows OS. The toolchains that
`rustup` chooses to install, unless told otherwise through the [toolchain
specification], will be compiled to run on that target tuple host and will
target that triple by default.
target that tuple by default.

You can change this behavior with `rustup set default-host` or during
installation.
Expand Down
7 changes: 6 additions & 1 deletion rustup-init.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Options:
Set log level to 'DEBUG' if 'RUSTUP_LOG' is unset
-q, --quiet
Disable progress output, set log level to 'WARN' if 'RUSTUP_LOG' is unset
-y
-y, --yes
Disable confirmation prompt
--default-host <DEFAULT_HOST>
Choose a default host tuple
Expand Down Expand Up @@ -134,6 +134,11 @@ main() {
--quiet)
RUSTUP_QUIET=yes
;;
--yes)
# user wants to skip the prompt --
# we don't need /dev/tty
need_tty=no
;;
*)
OPTIND=1
if [ "${arg%%--*}" = "" ]; then
Expand Down
14 changes: 7 additions & 7 deletions src/cli/common.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ use tracing_subscriber::{EnvFilter, Registry, reload::Handle};

use crate::{
config::Cfg,
dist::{DistOptions, TargetTriple, ToolchainDesc},
dist::{DistOptions, TargetTuple, ToolchainDesc},
errors::RustupError,
install::{InstallMethod, UpdateStatus},
process::Process,
Expand Down Expand Up @@ -510,16 +510,16 @@ pub(crate) fn ignorable_error(
/// - The `force_non_host` flag is set to `false`.
pub(crate) fn check_non_host_toolchain(
toolchain: String,
host_arch: &TargetTriple,
target_triple: &TargetTriple,
host_arch: &TargetTuple,
target_tuple: &TargetTuple,
force_non_host: bool,
) -> Result<()> {
if force_non_host || host_arch.can_run(target_triple)? {
if force_non_host || host_arch.can_run(target_tuple)? {
return Ok(());
}
Err(RustupError::ToolchainIncompatible {
toolchain,
target_triple: target_triple.clone(),
target_tuple: target_tuple.clone(),
}
.into())
}
Expand All @@ -531,10 +531,10 @@ pub(crate) fn warn_if_host_is_emulated(process: &Process) {
if process.var("RUSTUP_CI").is_ok() {
return;
}
if TargetTriple::is_host_emulated() {
if TargetTuple::is_host_emulated() {
warn!(
"Rustup is not running natively. It's running under emulation of {}.",
TargetTriple::from_host_or_build(process)
TargetTuple::from_host_or_build(process)
);
warn!(
"For best compatibility and performance you should reinstall rustup for your native CPU."
Expand Down
2 changes: 1 addition & 1 deletion src/cli/help.rs
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ pub(crate) fn toolchain_help() -> String {
{PLACEHOLDER}<versioned> = <major.minor>|<major.minor.patch>{PLACEHOLDER:#}
{PLACEHOLDER}<prerelease> = beta[.<number>]{PLACEHOLDER:#}
{PLACEHOLDER}<date> = YYYY-MM-DD{PLACEHOLDER:#}
{PLACEHOLDER}<host> = <target-triple>{PLACEHOLDER:#}
{PLACEHOLDER}<host> = <target-tuple>{PLACEHOLDER:#}

'channel' is a named release channel, a major and minor version
number such as `1.42`, or a fully specified version number, such
Expand Down
4 changes: 2 additions & 2 deletions src/cli/proxy_mode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ pub async fn main(arg0: &str, current_dir: PathBuf, process: &Process) -> Result
.skip(1 + toolchain.is_some() as usize)
.collect();

let cfg = Cfg::from_env(current_dir, false, process)?;
let cfg = Cfg::from_env(current_dir, false, true, process)?;
let (toolchain, source) = cfg
.local_toolchain(match toolchain {
Some(name) => Some((
name.resolve(&cfg.get_default_host_triple()?)?,
name.resolve(&cfg.default_host_tuple()?)?,
ActiveSource::CommandLine,
)),
None => None,
Expand Down
Loading
Loading