From cb4b7f631980e6f78a486be46ec653ad322ce12e Mon Sep 17 00:00:00 2001 From: jyn Date: Thu, 25 May 2023 13:33:43 -0500 Subject: [PATCH] Extend `msg` and `description` to work with any subcommand Previously `description` only supported `Testing` and `Benchmarking`, and `msg` gave weird results for `doc` (it would say `Docing`). --- src/bootstrap/builder.rs | 8 ++++++-- src/bootstrap/lib.rs | 4 ++-- src/bootstrap/test.rs | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs index caab40fcd9dd..b2e9ba144d6b 100644 --- a/src/bootstrap/builder.rs +++ b/src/bootstrap/builder.rs @@ -644,12 +644,16 @@ impl Kind { } } - pub fn test_description(&self) -> &'static str { + pub fn description(&self) -> String { match self { Kind::Test => "Testing", Kind::Bench => "Benchmarking", - _ => panic!("not a test command: {}!", self.as_str()), + Kind::Doc => "Documenting", + Kind::Run => "Running", + Kind::Suggest => "Suggesting", + _ => return format!("{self:?}"), } + .to_owned() } } diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index fb76dffd0715..f7d30de67eba 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -1020,8 +1020,8 @@ impl Build { host: impl Into>, target: impl Into>, ) -> Option { - let action = action.into(); - let msg = |fmt| format!("{action:?}ing stage{stage} {what}{fmt}"); + let action = action.into().description(); + let msg = |fmt| format!("{action} stage{stage} {what}{fmt}"); let msg = if let Some(target) = target.into() { let host = host.into().unwrap(); if host == target { diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs index 44cd84be705a..25941fc64c50 100644 --- a/src/bootstrap/test.rs +++ b/src/bootstrap/test.rs @@ -101,7 +101,7 @@ impl Step for CrateBootstrap { ); builder.info(&format!( "{} {} stage0 ({})", - builder.kind.test_description(), + builder.kind.description(), path, bootstrap_host, ));