diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index 2ce9ddd2a680e..1f2fa3df98e1e 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -190,7 +190,7 @@ pub enum GitRepo { /// although most functions are implemented as free functions rather than /// methods specifically on this structure itself (to make it easier to /// organize). -#[derive(Clone)] +#[cfg_attr(not(feature = "build-metrics"), derive(Clone))] pub struct Build { /// User-specified configuration from `config.toml`. config: Config, diff --git a/src/bootstrap/suggest.rs b/src/bootstrap/suggest.rs index 1a482e4165944..ff20ebec26772 100644 --- a/src/bootstrap/suggest.rs +++ b/src/bootstrap/suggest.rs @@ -1,3 +1,5 @@ +#![cfg_attr(feature = "build-metrics", allow(unused))] + use std::str::FromStr; use std::path::PathBuf; @@ -7,7 +9,13 @@ use crate::{ tool::Tool, }; +#[cfg(feature = "build-metrics")] +pub fn suggest(builder: &Builder<'_>, run: bool) { + panic!("`x suggest` is not supported with `build-metrics`") +} + /// Suggests a list of possible `x.py` commands to run based on modified files in branch. +#[cfg(not(feature = "build-metrics"))] pub fn suggest(builder: &Builder<'_>, run: bool) { let suggestions = builder.tool_cmd(Tool::SuggestTests).output().expect("failed to run `suggest-tests` tool");