@@ -290,6 +290,7 @@ macro_rules! bootstrap_tool {
290290 ( $(
291291 $name: ident, $path: expr, $tool_name: expr
292292 $( , is_external_tool = $external: expr) *
293+ $( , is_unstable_tool = $unstable: expr) *
293294 $( , features = $features: expr) *
294295 ;
295296 ) +) => {
@@ -340,7 +341,12 @@ macro_rules! bootstrap_tool {
340341 compiler: self . compiler,
341342 target: self . target,
342343 tool: $tool_name,
343- mode: Mode :: ToolBootstrap ,
344+ mode: if false $( || $unstable) * {
345+ // use in-tree libraries for unstable features
346+ Mode :: ToolStd
347+ } else {
348+ Mode :: ToolBootstrap
349+ } ,
344350 path: $path,
345351 is_optional_tool: false ,
346352 source_type: if false $( || $external) * {
@@ -367,7 +373,7 @@ bootstrap_tool!(
367373 Tidy , "src/tools/tidy" , "tidy" ;
368374 Linkchecker , "src/tools/linkchecker" , "linkchecker" ;
369375 CargoTest , "src/tools/cargotest" , "cargotest" ;
370- Compiletest , "src/tools/compiletest" , "compiletest" ;
376+ Compiletest , "src/tools/compiletest" , "compiletest" , is_unstable_tool = true ;
371377 BuildManifest , "src/tools/build-manifest" , "build-manifest" ;
372378 RemoteTestClient , "src/tools/remote-test-client" , "remote-test-client" ;
373379 RustInstaller , "src/tools/rust-installer" , "fabricate" , is_external_tool = true ;
0 commit comments