diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs index 84064150738f..c3a3eddd1612 100644 --- a/src/bootstrap/src/core/build_steps/compile.rs +++ b/src/bootstrap/src/core/build_steps/compile.rs @@ -306,11 +306,7 @@ impl Step for Std { } fn metadata(&self) -> Option { - Some( - StepMetadata::build("std", self.target) - .built_by(self.compiler) - .stage(self.compiler.stage), - ) + Some(StepMetadata::build("std", self.target).built_by(self.compiler)) } } @@ -1186,11 +1182,7 @@ impl Step for Rustc { } fn metadata(&self) -> Option { - Some( - StepMetadata::build("rustc", self.target) - .built_by(self.build_compiler) - .stage(self.build_compiler.stage + 1), - ) + Some(StepMetadata::build("rustc", self.target).built_by(self.build_compiler)) } } diff --git a/src/bootstrap/src/core/build_steps/tool.rs b/src/bootstrap/src/core/build_steps/tool.rs index a7220515ca09..ad3f8d897670 100644 --- a/src/bootstrap/src/core/build_steps/tool.rs +++ b/src/bootstrap/src/core/build_steps/tool.rs @@ -1195,7 +1195,6 @@ macro_rules! tool_extended { Some( StepMetadata::build($tool_name, self.target) .built_by(self.compiler.with_stage(self.compiler.stage.saturating_sub(1))) - .stage(self.compiler.stage) ) } } diff --git a/src/bootstrap/src/core/builder/mod.rs b/src/bootstrap/src/core/builder/mod.rs index 8e9e8b496de7..e46a811b9b17 100644 --- a/src/bootstrap/src/core/builder/mod.rs +++ b/src/bootstrap/src/core/builder/mod.rs @@ -178,6 +178,12 @@ impl StepMetadata { self.stage = Some(stage); self } + + pub fn get_stage(&self) -> Option { + self.stage.or(self + .built_by + .map(|compiler| if self.name == "std" { compiler.stage } else { compiler.stage + 1 })) + } } pub struct RunConfig<'a> { diff --git a/src/bootstrap/src/core/builder/tests.rs b/src/bootstrap/src/core/builder/tests.rs index 8adf93ea5288..f8ed284dbe0d 100644 --- a/src/bootstrap/src/core/builder/tests.rs +++ b/src/bootstrap/src/core/builder/tests.rs @@ -863,7 +863,7 @@ mod snapshot { insta::assert_snapshot!( ctx.config("build") .path("opt-dist") - .render_steps(), @"[build] rustc 0 -> OptimizedDist "); + .render_steps(), @"[build] rustc 0 -> OptimizedDist 1 "); } #[test] @@ -880,7 +880,7 @@ mod snapshot { ctx.config("build") .path("opt-dist") .stage(1) - .render_steps(), @"[build] rustc 0 -> OptimizedDist "); + .render_steps(), @"[build] rustc 0 -> OptimizedDist 1 "); } #[test] @@ -890,7 +890,7 @@ mod snapshot { ctx.config("build") .path("opt-dist") .stage(2) - .render_steps(), @"[build] rustc 0 -> OptimizedDist "); + .render_steps(), @"[build] rustc 0 -> OptimizedDist 1 "); } #[test] @@ -984,8 +984,8 @@ mod snapshot { ctx .config("dist") .render_steps(), @r" - [build] rustc 0 -> UnstableBookGen - [build] rustc 0 -> Rustbook + [build] rustc 0 -> UnstableBookGen 1 + [build] rustc 0 -> Rustbook 1 [build] llvm [build] rustc 0 -> rustc 1 [build] rustc 1 -> std 1 @@ -993,14 +993,14 @@ mod snapshot { [build] rustdoc 1 [doc] std 2 [build] rustc 2 -> std 2 - [build] rustc 0 -> LintDocs - [build] rustc 0 -> RustInstaller + [build] rustc 0 -> LintDocs 1 + [build] rustc 0 -> RustInstaller 1 [dist] docs [doc] std 2 [dist] mingw - [build] rustc 0 -> GenerateCopyright + [build] rustc 0 -> GenerateCopyright 1 [dist] rustc - [dist] rustc 1 -> std + [dist] rustc 1 -> std 1 [dist] src <> " ); @@ -1014,25 +1014,25 @@ mod snapshot { .config("dist") .args(&["--set", "build.extended=true"]) .render_steps(), @r" - [build] rustc 0 -> UnstableBookGen - [build] rustc 0 -> Rustbook + [build] rustc 0 -> UnstableBookGen 1 + [build] rustc 0 -> Rustbook 1 [build] llvm [build] rustc 0 -> rustc 1 - [build] rustc 0 -> WasmComponentLd + [build] rustc 0 -> WasmComponentLd 1 [build] rustc 1 -> std 1 [build] rustc 1 -> rustc 2 - [build] rustc 1 -> WasmComponentLd + [build] rustc 1 -> WasmComponentLd 2 [build] rustdoc 1 [doc] std 2 [build] rustc 2 -> std 2 - [build] rustc 0 -> LintDocs - [build] rustc 0 -> RustInstaller + [build] rustc 0 -> LintDocs 1 + [build] rustc 0 -> RustInstaller 1 [dist] docs [doc] std 2 [dist] mingw - [build] rustc 0 -> GenerateCopyright + [build] rustc 0 -> GenerateCopyright 1 [dist] rustc - [dist] rustc 1 -> std + [dist] rustc 1 -> std 1 [dist] src <> [build] rustc 0 -> rustfmt 1 [build] rustc 0 -> cargo-fmt 1 @@ -1052,8 +1052,8 @@ mod snapshot { .hosts(&[&host_target()]) .targets(&[&host_target(), TEST_TRIPLE_1]) .render_steps(), @r" - [build] rustc 0 -> UnstableBookGen - [build] rustc 0 -> Rustbook + [build] rustc 0 -> UnstableBookGen 1 + [build] rustc 0 -> Rustbook 1 [build] llvm [build] rustc 0 -> rustc 1 [build] rustc 1 -> std 1 @@ -1062,19 +1062,19 @@ mod snapshot { [doc] std 2 [doc] std 2 [build] rustc 2 -> std 2 - [build] rustc 0 -> LintDocs - [build] rustc 0 -> RustInstaller + [build] rustc 0 -> LintDocs 1 + [build] rustc 0 -> RustInstaller 1 [dist] docs [dist] docs [doc] std 2 [doc] std 2 [dist] mingw [dist] mingw - [build] rustc 0 -> GenerateCopyright + [build] rustc 0 -> GenerateCopyright 1 [dist] rustc - [dist] rustc 1 -> std + [dist] rustc 1 -> std 1 [build] rustc 2 -> std 2 - [dist] rustc 2 -> std + [dist] rustc 2 -> std 2 [dist] src <> " ); @@ -1089,8 +1089,8 @@ mod snapshot { .hosts(&[&host_target(), TEST_TRIPLE_1]) .targets(&[&host_target()]) .render_steps(), @r" - [build] rustc 0 -> UnstableBookGen - [build] rustc 0 -> Rustbook + [build] rustc 0 -> UnstableBookGen 1 + [build] rustc 0 -> Rustbook 1 [build] llvm [build] rustc 0 -> rustc 1 [build] rustc 1 -> std 1 @@ -1098,20 +1098,20 @@ mod snapshot { [build] rustdoc 1 [doc] std 2 [build] rustc 2 -> std 2 - [build] rustc 0 -> LintDocs + [build] rustc 0 -> LintDocs 1 [build] rustc 1 -> std 1 [build] rustc 2 -> std 2 - [build] rustc 0 -> RustInstaller + [build] rustc 0 -> RustInstaller 1 [dist] docs [doc] std 2 [dist] mingw - [build] rustc 0 -> GenerateCopyright + [build] rustc 0 -> GenerateCopyright 1 [dist] rustc [build] llvm [build] rustc 1 -> rustc 2 [build] rustdoc 1 [dist] rustc - [dist] rustc 1 -> std + [dist] rustc 1 -> std 1 [dist] src <> " ); @@ -1126,8 +1126,8 @@ mod snapshot { .hosts(&[&host_target(), TEST_TRIPLE_1]) .targets(&[&host_target(), TEST_TRIPLE_1]) .render_steps(), @r" - [build] rustc 0 -> UnstableBookGen - [build] rustc 0 -> Rustbook + [build] rustc 0 -> UnstableBookGen 1 + [build] rustc 0 -> Rustbook 1 [build] llvm [build] rustc 0 -> rustc 1 [build] rustc 1 -> std 1 @@ -1136,24 +1136,24 @@ mod snapshot { [doc] std 2 [doc] std 2 [build] rustc 2 -> std 2 - [build] rustc 0 -> LintDocs + [build] rustc 0 -> LintDocs 1 [build] rustc 1 -> std 1 [build] rustc 2 -> std 2 - [build] rustc 0 -> RustInstaller + [build] rustc 0 -> RustInstaller 1 [dist] docs [dist] docs [doc] std 2 [doc] std 2 [dist] mingw [dist] mingw - [build] rustc 0 -> GenerateCopyright + [build] rustc 0 -> GenerateCopyright 1 [dist] rustc [build] llvm [build] rustc 1 -> rustc 2 [build] rustdoc 1 [dist] rustc - [dist] rustc 1 -> std - [dist] rustc 1 -> std + [dist] rustc 1 -> std 1 + [dist] rustc 1 -> std 1 [dist] src <> " ); @@ -1168,8 +1168,8 @@ mod snapshot { .hosts(&[]) .targets(&[TEST_TRIPLE_1]) .render_steps(), @r" - [build] rustc 0 -> UnstableBookGen - [build] rustc 0 -> Rustbook + [build] rustc 0 -> UnstableBookGen 1 + [build] rustc 0 -> Rustbook 1 [build] llvm [build] rustc 0 -> rustc 1 [build] rustc 1 -> std 1 @@ -1177,12 +1177,12 @@ mod snapshot { [build] rustdoc 1 [doc] std 2 [build] rustc 2 -> std 2 - [build] rustc 0 -> RustInstaller + [build] rustc 0 -> RustInstaller 1 [dist] docs [doc] std 2 [dist] mingw [build] rustc 2 -> std 2 - [dist] rustc 2 -> std + [dist] rustc 2 -> std 2 "); } @@ -1198,31 +1198,31 @@ mod snapshot { .targets(&[TEST_TRIPLE_1]) .args(&["--set", "rust.channel=nightly", "--set", "build.extended=true"]) .render_steps(), @r" - [build] rustc 0 -> UnstableBookGen - [build] rustc 0 -> Rustbook + [build] rustc 0 -> UnstableBookGen 1 + [build] rustc 0 -> Rustbook 1 [build] llvm [build] rustc 0 -> rustc 1 - [build] rustc 0 -> WasmComponentLd + [build] rustc 0 -> WasmComponentLd 1 [build] rustc 1 -> std 1 [build] rustc 1 -> rustc 2 - [build] rustc 1 -> WasmComponentLd + [build] rustc 1 -> WasmComponentLd 2 [build] rustdoc 1 [doc] std 2 [build] rustc 2 -> std 2 [build] rustc 1 -> std 1 [build] rustc 2 -> std 2 - [build] rustc 0 -> LintDocs - [build] rustc 0 -> RustInstaller + [build] rustc 0 -> LintDocs 1 + [build] rustc 0 -> RustInstaller 1 [dist] docs [doc] std 2 [dist] mingw [build] llvm [build] rustc 1 -> rustc 2 - [build] rustc 1 -> WasmComponentLd + [build] rustc 1 -> WasmComponentLd 2 [build] rustdoc 1 - [build] rustc 0 -> GenerateCopyright + [build] rustc 0 -> GenerateCopyright 1 [dist] rustc - [dist] rustc 1 -> std + [dist] rustc 1 -> std 1 [dist] src <> [build] rustc 0 -> rustfmt 1 [build] rustc 0 -> cargo-fmt 1 @@ -1384,7 +1384,8 @@ fn render_metadata(metadata: &StepMetadata) -> String { if let Some(compiler) = metadata.built_by { write!(record, "{} -> ", render_compiler(compiler)); } - let stage = if let Some(stage) = metadata.stage { format!("{stage} ") } else { "".to_string() }; + let stage = + if let Some(stage) = metadata.get_stage() { format!("{stage} ") } else { "".to_string() }; write!(record, "{} {stage}<{}>", metadata.name, normalize_target(metadata.target)); record }