Skip to content

Commit 23d3ee8

Browse files
committed
Revert "bootstrap: Get rid of tail_args in stream_cargo"
This reverts commit 9dfe504. Fixes `x clippy`.
1 parent 312c9a3 commit 23d3ee8

File tree

3 files changed

+41
-14
lines changed

3 files changed

+41
-14
lines changed

Diff for: src/bootstrap/check.rs

+30-11
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,20 @@ impl Step for Std {
9999
cargo_subcommand(builder.kind),
100100
);
101101
std_cargo(builder, target, compiler.stage, &mut cargo);
102-
cargo.args(args(builder));
103102

104103
builder.info(&format!(
105104
"Checking stage{} library artifacts ({} -> {})",
106105
builder.top_stage, &compiler.host, target
107106
));
108-
run_cargo(builder, cargo, &libstd_stamp(builder, compiler, target), vec![], true, false);
107+
run_cargo(
108+
builder,
109+
cargo,
110+
args(builder),
111+
&libstd_stamp(builder, compiler, target),
112+
vec![],
113+
true,
114+
false,
115+
);
109116

110117
// We skip populating the sysroot in non-zero stage because that'll lead
111118
// to rlib/rmeta conflicts if std gets built during this session.
@@ -149,7 +156,6 @@ impl Step for Std {
149156
for krate in builder.in_tree_crates("test", Some(target)) {
150157
cargo.arg("-p").arg(krate.name);
151158
}
152-
cargo.args(args(builder));
153159

154160
builder.info(&format!(
155161
"Checking stage{} library test/bench/example targets ({} -> {})",
@@ -158,6 +164,7 @@ impl Step for Std {
158164
run_cargo(
159165
builder,
160166
cargo,
167+
args(builder),
161168
&libstd_test_stamp(builder, compiler, target),
162169
vec![],
163170
true,
@@ -226,13 +233,20 @@ impl Step for Rustc {
226233
for krate in builder.in_tree_crates("rustc-main", Some(target)) {
227234
cargo.arg("-p").arg(krate.name);
228235
}
229-
cargo.args(args(builder));
230236

231237
builder.info(&format!(
232238
"Checking stage{} compiler artifacts ({} -> {})",
233239
builder.top_stage, &compiler.host, target
234240
));
235-
run_cargo(builder, cargo, &librustc_stamp(builder, compiler, target), vec![], true, false);
241+
run_cargo(
242+
builder,
243+
cargo,
244+
args(builder),
245+
&librustc_stamp(builder, compiler, target),
246+
vec![],
247+
true,
248+
false,
249+
);
236250

237251
let libdir = builder.sysroot_libdir(compiler, target);
238252
let hostdir = builder.sysroot_libdir(compiler, compiler.host);
@@ -279,7 +293,6 @@ impl Step for CodegenBackend {
279293
.arg("--manifest-path")
280294
.arg(builder.src.join(format!("compiler/rustc_codegen_{}/Cargo.toml", backend)));
281295
rustc_cargo_env(builder, &mut cargo, target);
282-
cargo.args(args(builder));
283296

284297
builder.info(&format!(
285298
"Checking stage{} {} artifacts ({} -> {})",
@@ -289,6 +302,7 @@ impl Step for CodegenBackend {
289302
run_cargo(
290303
builder,
291304
cargo,
305+
args(builder),
292306
&codegen_backend_stamp(builder, compiler, target, backend),
293307
vec![],
294308
true,
@@ -345,13 +359,19 @@ impl Step for RustAnalyzer {
345359
cargo.arg("--benches");
346360
}
347361

348-
cargo.args(args(builder));
349-
350362
builder.info(&format!(
351363
"Checking stage{} {} artifacts ({} -> {})",
352364
compiler.stage, "rust-analyzer", &compiler.host.triple, target.triple
353365
));
354-
run_cargo(builder, cargo, &stamp(builder, compiler, target), vec![], true, false);
366+
run_cargo(
367+
builder,
368+
cargo,
369+
args(builder),
370+
&stamp(builder, compiler, target),
371+
vec![],
372+
true,
373+
false,
374+
);
355375

356376
/// Cargo's output path in a given stage, compiled by a particular
357377
/// compiler for the specified target.
@@ -405,8 +425,6 @@ macro_rules! tool_check_step {
405425
cargo.arg("--all-targets");
406426
}
407427

408-
cargo.args(args(builder));
409-
410428
// Enable internal lints for clippy and rustdoc
411429
// NOTE: this doesn't enable lints for any other tools unless they explicitly add `#![warn(rustc::internal)]`
412430
// See https://github.com/rust-lang/rust/pull/80573#issuecomment-754010776
@@ -422,6 +440,7 @@ macro_rules! tool_check_step {
422440
run_cargo(
423441
builder,
424442
cargo,
443+
args(builder),
425444
&stamp(builder, compiler, target),
426445
vec![],
427446
true,

Diff for: src/bootstrap/compile.rs

+10-2
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ impl Step for Std {
144144
run_cargo(
145145
builder,
146146
cargo,
147+
vec![],
147148
&libstd_stamp(builder, compiler, target),
148149
target_deps,
149150
false,
@@ -738,6 +739,7 @@ impl Step for Rustc {
738739
run_cargo(
739740
builder,
740741
cargo,
742+
vec![],
741743
&librustc_stamp(builder, compiler, target),
742744
vec![],
743745
false,
@@ -998,7 +1000,7 @@ impl Step for CodegenBackend {
9981000
"Building stage{} codegen backend {} ({} -> {})",
9991001
compiler.stage, backend, &compiler.host, target
10001002
));
1001-
let files = run_cargo(builder, cargo, &tmp_stamp, vec![], false, false);
1003+
let files = run_cargo(builder, cargo, vec![], &tmp_stamp, vec![], false, false);
10021004
if builder.config.dry_run() {
10031005
return;
10041006
}
@@ -1422,6 +1424,7 @@ pub fn add_to_sysroot(
14221424
pub fn run_cargo(
14231425
builder: &Builder<'_>,
14241426
cargo: Cargo,
1427+
tail_args: Vec<String>,
14251428
stamp: &Path,
14261429
additional_target_deps: Vec<(PathBuf, DependencyType)>,
14271430
is_check: bool,
@@ -1448,7 +1451,7 @@ pub fn run_cargo(
14481451
// files we need to probe for later.
14491452
let mut deps = Vec::new();
14501453
let mut toplevel = Vec::new();
1451-
let ok = stream_cargo(builder, cargo, &mut |msg| {
1454+
let ok = stream_cargo(builder, cargo, tail_args, &mut |msg| {
14521455
let (filenames, crate_types) = match msg {
14531456
CargoMessage::CompilerArtifact {
14541457
filenames,
@@ -1585,6 +1588,7 @@ pub fn run_cargo(
15851588
pub fn stream_cargo(
15861589
builder: &Builder<'_>,
15871590
cargo: Cargo,
1591+
tail_args: Vec<String>,
15881592
cb: &mut dyn FnMut(CargoMessage<'_>),
15891593
) -> bool {
15901594
let mut cargo = Command::from(cargo);
@@ -1604,6 +1608,10 @@ pub fn stream_cargo(
16041608
}
16051609
cargo.arg("--message-format").arg(message_format).stdout(Stdio::piped());
16061610

1611+
for arg in tail_args {
1612+
cargo.arg(arg);
1613+
}
1614+
16071615
builder.verbose(&format!("running: {:?}", cargo));
16081616
let mut child = match cargo.spawn() {
16091617
Ok(child) => child,

Diff for: src/bootstrap/tool.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ impl Step for ToolBuild {
7272

7373
builder.info(&format!("Building stage{} tool {} ({})", compiler.stage, tool, target));
7474
let mut duplicates = Vec::new();
75-
let is_expected = compile::stream_cargo(builder, cargo, &mut |msg| {
75+
let is_expected = compile::stream_cargo(builder, cargo, vec![], &mut |msg| {
7676
// Only care about big things like the RLS/Cargo for now
7777
match tool {
7878
"rls" | "cargo" | "clippy-driver" | "miri" | "rustfmt" => {}

0 commit comments

Comments
 (0)