diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs index 28e7f1fdca7a1..674f891427b9c 100644 --- a/src/bootstrap/check.rs +++ b/src/bootstrap/check.rs @@ -64,7 +64,7 @@ impl Step for Std { const DEFAULT: bool = true; fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { - run.all_krates("test") + run.all_krates("test").path("library") } fn make_run(run: RunConfig<'_>) { @@ -162,7 +162,7 @@ impl Step for Rustc { const DEFAULT: bool = true; fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { - run.all_krates("rustc-main") + run.all_krates("rustc-main").path("compiler") } fn make_run(run: RunConfig<'_>) { diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs index 00fc1f0434252..8ba081a1c0cd0 100644 --- a/src/bootstrap/compile.rs +++ b/src/bootstrap/compile.rs @@ -43,7 +43,7 @@ impl Step for Std { // When downloading stage1, the standard library has already been copied to the sysroot, so // there's no need to rebuild it. let download_rustc = run.builder.config.download_rustc; - run.all_krates("test").default_condition(!download_rustc) + run.all_krates("test").path("library").default_condition(!download_rustc) } fn make_run(run: RunConfig<'_>) { @@ -1047,7 +1047,7 @@ impl Step for Assemble { const ONLY_HOSTS: bool = true; fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { - run.path("compiler/rustc") + run.path("compiler/rustc").path("compiler") } fn make_run(run: RunConfig<'_>) { diff --git a/src/bootstrap/doc.rs b/src/bootstrap/doc.rs index 5f16716a0fdaf..248ae916e38cb 100644 --- a/src/bootstrap/doc.rs +++ b/src/bootstrap/doc.rs @@ -417,7 +417,7 @@ impl Step for Std { fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { let builder = run.builder; - run.all_krates("test").default_condition(builder.config.docs) + run.all_krates("test").path("library").default_condition(builder.config.docs) } fn make_run(run: RunConfig<'_>) { @@ -479,11 +479,14 @@ impl Step for Std { .iter() .map(components_simplified) .filter_map(|path| { - if path.get(0) == Some(&"library") { + if path.len() >= 2 && path.get(0) == Some(&"library") { + // single crate Some(path[1].to_owned()) } else if !path.is_empty() { + // ?? Some(path[0].to_owned()) } else { + // all library crates None } })