Skip to content

Commit 4c23295

Browse files
committed
Use a constant for unstable features needed by compiletest
1 parent 2da29db commit 4c23295

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

Diff for: src/bootstrap/src/core/build_steps/check.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use crate::core::build_steps::compile::{
44
add_to_sysroot, run_cargo, rustc_cargo, rustc_cargo_env, std_cargo, std_crates_for_run_make,
55
};
6-
use crate::core::build_steps::tool::{SourceType, prepare_tool_cargo};
6+
use crate::core::build_steps::tool::{COMPILETEST_ALLOW_FEATURES, SourceType, prepare_tool_cargo};
77
use crate::core::builder::{
88
self, Alias, Builder, Kind, RunConfig, ShouldRun, Step, crate_description,
99
};
@@ -416,7 +416,7 @@ impl Step for Compiletest {
416416
&[],
417417
);
418418

419-
cargo.allow_features("test");
419+
cargo.allow_features(COMPILETEST_ALLOW_FEATURES);
420420

421421
// For ./x.py clippy, don't run with --all-targets because
422422
// linting tests and benchmarks can produce very noisy results

Diff for: src/bootstrap/src/core/build_steps/test.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use crate::core::build_steps::doc::DocumentationFormat;
1515
use crate::core::build_steps::gcc::{Gcc, add_cg_gcc_cargo_flags};
1616
use crate::core::build_steps::llvm::get_llvm_version;
1717
use crate::core::build_steps::synthetic_targets::MirOptPanicAbortSyntheticTarget;
18-
use crate::core::build_steps::tool::{self, SourceType, Tool};
18+
use crate::core::build_steps::tool::{self, COMPILETEST_ALLOW_FEATURES, SourceType, Tool};
1919
use crate::core::build_steps::toolstate::ToolState;
2020
use crate::core::build_steps::{compile, dist, llvm};
2121
use crate::core::builder::{
@@ -721,7 +721,7 @@ impl Step for CompiletestTest {
721721
SourceType::InTree,
722722
&[],
723723
);
724-
cargo.allow_features("test");
724+
cargo.allow_features(COMPILETEST_ALLOW_FEATURES);
725725
run_cargo_test(cargo, &[], &[], "compiletest self test", host, builder);
726726
}
727727
}

Diff for: src/bootstrap/src/core/build_steps/tool.rs

+10-3
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,11 @@ macro_rules! bootstrap_tool {
444444
SourceType::InTree
445445
},
446446
extra_features: vec![],
447-
allow_features: concat!($($allow_features)*),
447+
allow_features: {
448+
let mut _value = "";
449+
$( _value = $allow_features; )?
450+
_value
451+
},
448452
cargo_args: vec![],
449453
artifact_kind: if false $(|| $artifact_kind == ToolArtifactKind::Library)* {
450454
ToolArtifactKind::Library
@@ -458,6 +462,8 @@ macro_rules! bootstrap_tool {
458462
}
459463
}
460464

465+
pub(crate) const COMPILETEST_ALLOW_FEATURES: &str = "test";
466+
461467
bootstrap_tool!(
462468
// This is marked as an external tool because it includes dependencies
463469
// from submodules. Trying to keep the lints in sync between all the repos
@@ -468,7 +474,7 @@ bootstrap_tool!(
468474
Tidy, "src/tools/tidy", "tidy";
469475
Linkchecker, "src/tools/linkchecker", "linkchecker";
470476
CargoTest, "src/tools/cargotest", "cargotest";
471-
Compiletest, "src/tools/compiletest", "compiletest", is_unstable_tool = true, allow_features = "test";
477+
Compiletest, "src/tools/compiletest", "compiletest", is_unstable_tool = true, allow_features = COMPILETEST_ALLOW_FEATURES;
472478
BuildManifest, "src/tools/build-manifest", "build-manifest";
473479
RemoteTestClient, "src/tools/remote-test-client", "remote-test-client";
474480
RustInstaller, "src/tools/rust-installer", "rust-installer";
@@ -483,7 +489,8 @@ bootstrap_tool!(
483489
GenerateCopyright, "src/tools/generate-copyright", "generate-copyright";
484490
SuggestTests, "src/tools/suggest-tests", "suggest-tests";
485491
GenerateWindowsSys, "src/tools/generate-windows-sys", "generate-windows-sys";
486-
RustdocGUITest, "src/tools/rustdoc-gui-test", "rustdoc-gui-test", is_unstable_tool = true, allow_features = "test";
492+
// rustdoc-gui-test has a crate dependency on compiletest, so it needs the same unstable features.
493+
RustdocGUITest, "src/tools/rustdoc-gui-test", "rustdoc-gui-test", is_unstable_tool = true, allow_features = COMPILETEST_ALLOW_FEATURES;
487494
CoverageDump, "src/tools/coverage-dump", "coverage-dump";
488495
WasmComponentLd, "src/tools/wasm-component-ld", "wasm-component-ld", is_unstable_tool = true, allow_features = "min_specialization";
489496
UnicodeTableGenerator, "src/tools/unicode-table-generator", "unicode-table-generator";

0 commit comments

Comments
 (0)