@@ -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+
461467bootstrap_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