From f851173eeff40268dceaa94e926bdff73575e40d Mon Sep 17 00:00:00 2001
From: Weihang Lo
Date: Fri, 19 Dec 2025 14:47:32 -0500
Subject: [PATCH] fix(timing)!: remove `--timings=` optional format values
Arguments to remove it
* The `--timings=json` is obsolete as `-Zbuild-analysis` logging is
a more approachable option, which doesn't need passing
`--timings=json` ahead of time.
* There is no support infra built around `--timings=json` yet,
while for `-Zbuild-analysis` we have `cargo report timings` already.
* `--timings=json` is a UI feature inherently unstable, and has no tests.
Counterargument:
* `--timings=json` outputs to stdout, but there is no alternative yet
also outputs to stdout.
---
src/cargo/core/compiler/build_config.rs | 15 ++------
src/cargo/core/compiler/build_runner/mod.rs | 2 +-
src/cargo/core/compiler/mod.rs | 6 ++--
src/cargo/core/compiler/timings/mod.rs | 27 +++-----------
src/cargo/util/command_prelude.rs | 36 +++----------------
src/cargo/util/machine_message.rs | 19 ----------
src/doc/man/generated_txt/cargo-bench.txt | 25 +++++--------
src/doc/man/generated_txt/cargo-build.txt | 25 +++++--------
src/doc/man/generated_txt/cargo-check.txt | 25 +++++--------
src/doc/man/generated_txt/cargo-doc.txt | 25 +++++--------
src/doc/man/generated_txt/cargo-fix.txt | 25 +++++--------
src/doc/man/generated_txt/cargo-install.txt | 25 +++++--------
src/doc/man/generated_txt/cargo-run.txt | 25 +++++--------
src/doc/man/generated_txt/cargo-rustc.txt | 25 +++++--------
src/doc/man/generated_txt/cargo-rustdoc.txt | 25 +++++--------
src/doc/man/generated_txt/cargo-test.txt | 25 +++++--------
src/doc/man/includes/options-timings.md | 19 ++++------
src/doc/src/commands/cargo-bench.md | 21 ++++-------
src/doc/src/commands/cargo-build.md | 21 ++++-------
src/doc/src/commands/cargo-check.md | 21 ++++-------
src/doc/src/commands/cargo-doc.md | 21 ++++-------
src/doc/src/commands/cargo-fix.md | 21 ++++-------
src/doc/src/commands/cargo-install.md | 21 ++++-------
src/doc/src/commands/cargo-run.md | 21 ++++-------
src/doc/src/commands/cargo-rustc.md | 21 ++++-------
src/doc/src/commands/cargo-rustdoc.md | 21 ++++-------
src/doc/src/commands/cargo-test.md | 21 ++++-------
src/doc/src/reference/unstable.md | 5 +--
src/etc/man/cargo-bench.1 | 24 ++++---------
src/etc/man/cargo-build.1 | 24 ++++---------
src/etc/man/cargo-check.1 | 24 ++++---------
src/etc/man/cargo-doc.1 | 24 ++++---------
src/etc/man/cargo-fix.1 | 24 ++++---------
src/etc/man/cargo-install.1 | 24 ++++---------
src/etc/man/cargo-run.1 | 24 ++++---------
src/etc/man/cargo-rustc.1 | 24 ++++---------
src/etc/man/cargo-rustdoc.1 | 24 ++++---------
src/etc/man/cargo-test.1 | 24 ++++---------
.../cargo_bench/help/stdout.term.svg | 4 +--
.../cargo_build/help/stdout.term.svg | 2 +-
.../cargo_check/help/stdout.term.svg | 4 +--
.../testsuite/cargo_doc/help/stdout.term.svg | 4 +--
.../testsuite/cargo_fix/help/stdout.term.svg | 4 +--
.../cargo_install/help/stdout.term.svg | 4 +--
.../testsuite/cargo_run/help/stdout.term.svg | 2 +-
.../cargo_rustc/help/stdout.term.svg | 4 +--
.../cargo_rustdoc/help/stdout.term.svg | 4 +--
.../testsuite/cargo_test/help/stdout.term.svg | 4 +--
48 files changed, 263 insertions(+), 602 deletions(-)
diff --git a/src/cargo/core/compiler/build_config.rs b/src/cargo/core/compiler/build_config.rs
index e4b667552c3..dfe1a59a70a 100644
--- a/src/cargo/core/compiler/build_config.rs
+++ b/src/cargo/core/compiler/build_config.rs
@@ -44,8 +44,8 @@ pub struct BuildConfig {
pub export_dir: Option,
/// `true` to output a future incompatibility report at the end of the build
pub future_incompat_report: bool,
- /// Which kinds of build timings to output (empty if none).
- pub timing_outputs: Vec,
+ /// Output timing report at the end of the build
+ pub timing_report: bool,
/// Output SBOM precursor files.
pub sbom: bool,
/// Build compile time dependencies only, e.g., build scripts and proc macros
@@ -127,7 +127,7 @@ impl BuildConfig {
rustfix_diagnostic_server: Rc::new(RefCell::new(None)),
export_dir: None,
future_incompat_report: false,
- timing_outputs: Vec::new(),
+ timing_report: false,
sbom,
compile_time_deps_only: false,
})
@@ -350,12 +350,3 @@ impl UserIntent {
)
}
}
-
-/// Kinds of build timings we can output.
-#[derive(Clone, Copy, PartialEq, Debug, Eq, Hash, PartialOrd, Ord)]
-pub enum TimingOutput {
- /// Human-readable HTML report
- Html,
- /// Machine-readable JSON (unstable)
- Json,
-}
diff --git a/src/cargo/core/compiler/build_runner/mod.rs b/src/cargo/core/compiler/build_runner/mod.rs
index 02f3c62267a..8afed3a1b92 100644
--- a/src/cargo/core/compiler/build_runner/mod.rs
+++ b/src/cargo/core/compiler/build_runner/mod.rs
@@ -409,7 +409,7 @@ impl<'a, 'gctx> BuildRunner<'a, 'gctx> {
// Generally cargo check does not need to take the artifact-dir lock but there is
// one exception: If check has `--timings` we still need to lock artifact-dir since
// we will output the report files.
- !self.bcx.build_config.timing_outputs.is_empty()
+ self.bcx.build_config.timing_report
}
UserIntent::Build
| UserIntent::Test
diff --git a/src/cargo/core/compiler/mod.rs b/src/cargo/core/compiler/mod.rs
index 3d3afe5e801..121ade9604b 100644
--- a/src/cargo/core/compiler/mod.rs
+++ b/src/cargo/core/compiler/mod.rs
@@ -71,7 +71,7 @@ use regex::Regex;
use tracing::{debug, instrument, trace};
pub use self::build_config::UserIntent;
-pub use self::build_config::{BuildConfig, CompileMode, MessageFormat, TimingOutput};
+pub use self::build_config::{BuildConfig, CompileMode, MessageFormat};
pub use self::build_context::BuildContext;
pub use self::build_context::FileFlavor;
pub use self::build_context::FileType;
@@ -112,7 +112,6 @@ use cargo_util_schemas::manifest::TomlDebugInfo;
use cargo_util_schemas::manifest::TomlTrimPaths;
use cargo_util_schemas::manifest::TomlTrimPathsValue;
use rustfix::diagnostics::Applicability;
-pub(crate) use timings::CompilationSection;
const RUSTDOC_CRATE_VERSION_FLAG: &str = "--crate-version";
@@ -1131,8 +1130,7 @@ fn add_allow_features(build_runner: &BuildRunner<'_, '_>, cmd: &mut ProcessBuild
/// [`--error-format`]: https://doc.rust-lang.org/nightly/rustc/command-line-arguments.html#--error-format-control-how-errors-are-produced
fn add_error_format_and_color(build_runner: &BuildRunner<'_, '_>, cmd: &mut ProcessBuilder) {
let enable_timings = build_runner.bcx.gctx.cli_unstable().section_timings
- && (!build_runner.bcx.build_config.timing_outputs.is_empty()
- || build_runner.bcx.logger.is_some());
+ && (build_runner.bcx.build_config.timing_report || build_runner.bcx.logger.is_some());
if enable_timings {
cmd.arg("-Zunstable-options");
}
diff --git a/src/cargo/core/compiler/timings/mod.rs b/src/cargo/core/compiler/timings/mod.rs
index 1d8331182b1..904b0d0d0a1 100644
--- a/src/cargo/core/compiler/timings/mod.rs
+++ b/src/cargo/core/compiler/timings/mod.rs
@@ -7,11 +7,11 @@ pub mod report;
use super::{CompileMode, Unit};
use crate::core::PackageId;
+use crate::core::compiler::BuildContext;
+use crate::core::compiler::BuildRunner;
use crate::core::compiler::job_queue::JobId;
-use crate::core::compiler::{BuildContext, BuildRunner, TimingOutput};
use crate::util::cpu::State;
use crate::util::log_message::LogMessage;
-use crate::util::machine_message::{self, Message};
use crate::util::style;
use crate::util::{CargoResult, GlobalContext};
@@ -35,8 +35,6 @@ pub struct Timings<'gctx> {
enabled: bool,
/// If true, saves an HTML report to disk.
report_html: bool,
- /// If true, emits JSON information with timing information.
- report_json: bool,
/// When Cargo started.
start: Instant,
/// A rendered string of when compilation started.
@@ -120,17 +118,14 @@ pub struct UnitData {
impl<'gctx> Timings<'gctx> {
pub fn new(bcx: &BuildContext<'_, 'gctx>, root_units: &[Unit]) -> Timings<'gctx> {
let start = bcx.gctx.creation_time();
- let has_report = |what| bcx.build_config.timing_outputs.contains(&what);
- let report_html = has_report(TimingOutput::Html);
- let report_json = has_report(TimingOutput::Json);
- let enabled = report_html | report_json | bcx.logger.is_some();
+ let report_html = bcx.build_config.timing_report;
+ let enabled = report_html | bcx.logger.is_some();
if !enabled {
return Timings {
gctx: bcx.gctx,
enabled,
report_html,
- report_json,
start,
start_str: String::new(),
root_targets: Vec::new(),
@@ -175,7 +170,6 @@ impl<'gctx> Timings<'gctx> {
gctx: bcx.gctx,
enabled,
report_html,
- report_json,
start,
start_str,
root_targets,
@@ -286,18 +280,7 @@ impl<'gctx> Timings<'gctx> {
unit_time
.unblocked_units
.extend(unblocked.iter().cloned().cloned());
- if self.report_json {
- let msg = machine_message::TimingInfo {
- package_id: unit_time.unit.pkg.package_id().to_spec(),
- target: &unit_time.unit.target,
- mode: unit_time.unit.mode,
- duration: unit_time.duration,
- rmeta_time: unit_time.rmeta_time,
- sections: unit_time.sections.clone().into_iter().collect(),
- }
- .to_json_string();
- crate::drop_println!(self.gctx, "{}", msg);
- }
+
if let Some(logger) = build_runner.bcx.logger {
let unblocked = unblocked.iter().map(|u| self.unit_to_index[u]).collect();
logger.log(LogMessage::UnitFinished {
diff --git a/src/cargo/util/command_prelude.rs b/src/cargo/util/command_prelude.rs
index 8f139ca58ac..426a7420fec 100644
--- a/src/cargo/util/command_prelude.rs
+++ b/src/cargo/util/command_prelude.rs
@@ -1,8 +1,6 @@
use crate::CargoResult;
use crate::core::Dependency;
-use crate::core::compiler::{
- BuildConfig, CompileKind, MessageFormat, RustcTargetData, TimingOutput,
-};
+use crate::core::compiler::{BuildConfig, CompileKind, MessageFormat, RustcTargetData};
use crate::core::resolver::{CliFeatures, ForceAllTargets, HasDevUnits};
use crate::core::{Edition, Package, TargetKind, Workspace, profiles::Profiles, shell};
use crate::ops::lockfile::LOCKFILE_NAME;
@@ -516,12 +514,10 @@ pub trait CommandExt: Sized {
fn arg_timings(self) -> Self {
self._arg(
- optional_opt(
+ flag(
"timings",
- "Timing output formats (unstable) (comma separated): html, json",
+ "Output a build timing report at the end of the build",
)
- .value_name("FMTS")
- .require_equals(true)
.help_heading(heading::COMPILATION_OPTIONS),
)
}
@@ -845,31 +841,7 @@ Run `{cmd}` to see possible targets."
build_config.unit_graph = self.flag("unit-graph");
build_config.future_incompat_report = self.flag("future-incompat-report");
build_config.compile_time_deps_only = self.flag("compile-time-deps");
-
- if self._contains("timings") {
- for timing_output in self._values_of("timings") {
- for timing_output in timing_output.split(',') {
- let timing_output = timing_output.to_ascii_lowercase();
- let timing_output = match timing_output.as_str() {
- "html" => {
- gctx.cli_unstable()
- .fail_if_stable_opt("--timings=html", 7405)?;
- TimingOutput::Html
- }
- "json" => {
- gctx.cli_unstable()
- .fail_if_stable_opt("--timings=json", 7405)?;
- TimingOutput::Json
- }
- s => bail!("invalid timings output specifier: `{}`", s),
- };
- build_config.timing_outputs.push(timing_output);
- }
- }
- if build_config.timing_outputs.is_empty() {
- build_config.timing_outputs.push(TimingOutput::Html);
- }
- }
+ build_config.timing_report = self.flag("timings");
if build_config.unit_graph {
gctx.cli_unstable()
diff --git a/src/cargo/util/machine_message.rs b/src/cargo/util/machine_message.rs
index 0be2a4f1e33..6623521766c 100644
--- a/src/cargo/util/machine_message.rs
+++ b/src/cargo/util/machine_message.rs
@@ -6,7 +6,6 @@ use serde::ser;
use serde_json::value::RawValue;
use crate::core::Target;
-use crate::core::compiler::{CompilationSection, CompileMode};
pub trait Message: ser::Serialize {
fn reason(&self) -> &str;
@@ -94,24 +93,6 @@ impl<'a> Message for BuildScript<'a> {
}
}
-#[derive(Serialize)]
-pub struct TimingInfo<'a> {
- pub package_id: PackageIdSpec,
- pub target: &'a Target,
- pub mode: CompileMode,
- pub duration: f64,
- #[serde(skip_serializing_if = "Option::is_none")]
- pub rmeta_time: Option,
- #[serde(skip_serializing_if = "Vec::is_empty")]
- pub sections: Vec<(String, CompilationSection)>,
-}
-
-impl<'a> Message for TimingInfo<'a> {
- fn reason(&self) -> &str {
- "timing-info"
- }
-}
-
#[derive(Serialize)]
pub struct BuildFinished {
pub success: bool,
diff --git a/src/doc/man/generated_txt/cargo-bench.txt b/src/doc/man/generated_txt/cargo-bench.txt
index 26791aff901..8be0ed97f72 100644
--- a/src/doc/man/generated_txt/cargo-bench.txt
+++ b/src/doc/man/generated_txt/cargo-bench.txt
@@ -253,24 +253,15 @@ OPTIONS
for more
details on profiles.
- --timings=fmts
+ --timings
Output information how long each compilation takes, and track
- concurrency information over time. Accepts an optional
- comma-separated list of output formats; --timings without an
- argument will default to --timings=html. Specifying an output format
- (rather than the default) is unstable and requires
- -Zunstable-options. Valid output formats:
-
- o html (unstable, requires -Zunstable-options): Write a
- human-readable file cargo-timing.html to the target/cargo-timings
- directory with a report of the compilation. Also write a report
- to the same directory with a timestamp in the filename if you
- want to look at older runs. HTML output is suitable for human
- consumption only, and does not provide machine-readable timing
- data.
-
- o json (unstable, requires -Zunstable-options): Emit
- machine-readable JSON information about timing information.
+ concurrency information over time.
+
+ A file cargo-timing.html will be written to the target/cargo-timings
+ directory at the end of the build. An additional report with a
+ timestamp in its filename is also written if you want to look at a
+ previous run. These reports are suitable for human consumption only,
+ and do not provide machine-readable timing data.
Output Options
--target-dir directory
diff --git a/src/doc/man/generated_txt/cargo-build.txt b/src/doc/man/generated_txt/cargo-build.txt
index dbc3db31946..57983b8c109 100644
--- a/src/doc/man/generated_txt/cargo-build.txt
+++ b/src/doc/man/generated_txt/cargo-build.txt
@@ -174,24 +174,15 @@ OPTIONS
for more
details on profiles.
- --timings=fmts
+ --timings
Output information how long each compilation takes, and track
- concurrency information over time. Accepts an optional
- comma-separated list of output formats; --timings without an
- argument will default to --timings=html. Specifying an output format
- (rather than the default) is unstable and requires
- -Zunstable-options. Valid output formats:
-
- o html (unstable, requires -Zunstable-options): Write a
- human-readable file cargo-timing.html to the target/cargo-timings
- directory with a report of the compilation. Also write a report
- to the same directory with a timestamp in the filename if you
- want to look at older runs. HTML output is suitable for human
- consumption only, and does not provide machine-readable timing
- data.
-
- o json (unstable, requires -Zunstable-options): Emit
- machine-readable JSON information about timing information.
+ concurrency information over time.
+
+ A file cargo-timing.html will be written to the target/cargo-timings
+ directory at the end of the build. An additional report with a
+ timestamp in its filename is also written if you want to look at a
+ previous run. These reports are suitable for human consumption only,
+ and do not provide machine-readable timing data.
Output Options
--target-dir directory
diff --git a/src/doc/man/generated_txt/cargo-check.txt b/src/doc/man/generated_txt/cargo-check.txt
index b87593258aa..b9397423540 100644
--- a/src/doc/man/generated_txt/cargo-check.txt
+++ b/src/doc/man/generated_txt/cargo-check.txt
@@ -178,24 +178,15 @@ OPTIONS
for more
details on profiles.
- --timings=fmts
+ --timings
Output information how long each compilation takes, and track
- concurrency information over time. Accepts an optional
- comma-separated list of output formats; --timings without an
- argument will default to --timings=html. Specifying an output format
- (rather than the default) is unstable and requires
- -Zunstable-options. Valid output formats:
-
- o html (unstable, requires -Zunstable-options): Write a
- human-readable file cargo-timing.html to the target/cargo-timings
- directory with a report of the compilation. Also write a report
- to the same directory with a timestamp in the filename if you
- want to look at older runs. HTML output is suitable for human
- consumption only, and does not provide machine-readable timing
- data.
-
- o json (unstable, requires -Zunstable-options): Emit
- machine-readable JSON information about timing information.
+ concurrency information over time.
+
+ A file cargo-timing.html will be written to the target/cargo-timings
+ directory at the end of the build. An additional report with a
+ timestamp in its filename is also written if you want to look at a
+ previous run. These reports are suitable for human consumption only,
+ and do not provide machine-readable timing data.
Output Options
--target-dir directory
diff --git a/src/doc/man/generated_txt/cargo-doc.txt b/src/doc/man/generated_txt/cargo-doc.txt
index b1f951ef12d..48396045386 100644
--- a/src/doc/man/generated_txt/cargo-doc.txt
+++ b/src/doc/man/generated_txt/cargo-doc.txt
@@ -153,24 +153,15 @@ OPTIONS
for more
details on profiles.
- --timings=fmts
+ --timings
Output information how long each compilation takes, and track
- concurrency information over time. Accepts an optional
- comma-separated list of output formats; --timings without an
- argument will default to --timings=html. Specifying an output format
- (rather than the default) is unstable and requires
- -Zunstable-options. Valid output formats:
-
- o html (unstable, requires -Zunstable-options): Write a
- human-readable file cargo-timing.html to the target/cargo-timings
- directory with a report of the compilation. Also write a report
- to the same directory with a timestamp in the filename if you
- want to look at older runs. HTML output is suitable for human
- consumption only, and does not provide machine-readable timing
- data.
-
- o json (unstable, requires -Zunstable-options): Emit
- machine-readable JSON information about timing information.
+ concurrency information over time.
+
+ A file cargo-timing.html will be written to the target/cargo-timings
+ directory at the end of the build. An additional report with a
+ timestamp in its filename is also written if you want to look at a
+ previous run. These reports are suitable for human consumption only,
+ and do not provide machine-readable timing data.
Output Options
--target-dir directory
diff --git a/src/doc/man/generated_txt/cargo-fix.txt b/src/doc/man/generated_txt/cargo-fix.txt
index d643bca9f19..2f34983a05f 100644
--- a/src/doc/man/generated_txt/cargo-fix.txt
+++ b/src/doc/man/generated_txt/cargo-fix.txt
@@ -252,24 +252,15 @@ OPTIONS
for more
details on profiles.
- --timings=fmts
+ --timings
Output information how long each compilation takes, and track
- concurrency information over time. Accepts an optional
- comma-separated list of output formats; --timings without an
- argument will default to --timings=html. Specifying an output format
- (rather than the default) is unstable and requires
- -Zunstable-options. Valid output formats:
-
- o html (unstable, requires -Zunstable-options): Write a
- human-readable file cargo-timing.html to the target/cargo-timings
- directory with a report of the compilation. Also write a report
- to the same directory with a timestamp in the filename if you
- want to look at older runs. HTML output is suitable for human
- consumption only, and does not provide machine-readable timing
- data.
-
- o json (unstable, requires -Zunstable-options): Emit
- machine-readable JSON information about timing information.
+ concurrency information over time.
+
+ A file cargo-timing.html will be written to the target/cargo-timings
+ directory at the end of the build. An additional report with a
+ timestamp in its filename is also written if you want to look at a
+ previous run. These reports are suitable for human consumption only,
+ and do not provide machine-readable timing data.
Output Options
--target-dir directory
diff --git a/src/doc/man/generated_txt/cargo-install.txt b/src/doc/man/generated_txt/cargo-install.txt
index 36507aa2354..b5329c55d52 100644
--- a/src/doc/man/generated_txt/cargo-install.txt
+++ b/src/doc/man/generated_txt/cargo-install.txt
@@ -234,24 +234,15 @@ OPTIONS
for more
details on profiles.
- --timings=fmts
+ --timings
Output information how long each compilation takes, and track
- concurrency information over time. Accepts an optional
- comma-separated list of output formats; --timings without an
- argument will default to --timings=html. Specifying an output format
- (rather than the default) is unstable and requires
- -Zunstable-options. Valid output formats:
-
- o html (unstable, requires -Zunstable-options): Write a
- human-readable file cargo-timing.html to the target/cargo-timings
- directory with a report of the compilation. Also write a report
- to the same directory with a timestamp in the filename if you
- want to look at older runs. HTML output is suitable for human
- consumption only, and does not provide machine-readable timing
- data.
-
- o json (unstable, requires -Zunstable-options): Emit
- machine-readable JSON information about timing information.
+ concurrency information over time.
+
+ A file cargo-timing.html will be written to the target/cargo-timings
+ directory at the end of the build. An additional report with a
+ timestamp in its filename is also written if you want to look at a
+ previous run. These reports are suitable for human consumption only,
+ and do not provide machine-readable timing data.
Manifest Options
--ignore-rust-version
diff --git a/src/doc/man/generated_txt/cargo-run.txt b/src/doc/man/generated_txt/cargo-run.txt
index c93094d0eaf..dcac45f9b28 100644
--- a/src/doc/man/generated_txt/cargo-run.txt
+++ b/src/doc/man/generated_txt/cargo-run.txt
@@ -98,24 +98,15 @@ OPTIONS
for more
details on profiles.
- --timings=fmts
+ --timings
Output information how long each compilation takes, and track
- concurrency information over time. Accepts an optional
- comma-separated list of output formats; --timings without an
- argument will default to --timings=html. Specifying an output format
- (rather than the default) is unstable and requires
- -Zunstable-options. Valid output formats:
-
- o html (unstable, requires -Zunstable-options): Write a
- human-readable file cargo-timing.html to the target/cargo-timings
- directory with a report of the compilation. Also write a report
- to the same directory with a timestamp in the filename if you
- want to look at older runs. HTML output is suitable for human
- consumption only, and does not provide machine-readable timing
- data.
-
- o json (unstable, requires -Zunstable-options): Emit
- machine-readable JSON information about timing information.
+ concurrency information over time.
+
+ A file cargo-timing.html will be written to the target/cargo-timings
+ directory at the end of the build. An additional report with a
+ timestamp in its filename is also written if you want to look at a
+ previous run. These reports are suitable for human consumption only,
+ and do not provide machine-readable timing data.
Output Options
--target-dir directory
diff --git a/src/doc/man/generated_txt/cargo-rustc.txt b/src/doc/man/generated_txt/cargo-rustc.txt
index baf6eafdb6a..bdb03f6eda2 100644
--- a/src/doc/man/generated_txt/cargo-rustc.txt
+++ b/src/doc/man/generated_txt/cargo-rustc.txt
@@ -182,24 +182,15 @@ OPTIONS
for more
details on profiles.
- --timings=fmts
+ --timings
Output information how long each compilation takes, and track
- concurrency information over time. Accepts an optional
- comma-separated list of output formats; --timings without an
- argument will default to --timings=html. Specifying an output format
- (rather than the default) is unstable and requires
- -Zunstable-options. Valid output formats:
-
- o html (unstable, requires -Zunstable-options): Write a
- human-readable file cargo-timing.html to the target/cargo-timings
- directory with a report of the compilation. Also write a report
- to the same directory with a timestamp in the filename if you
- want to look at older runs. HTML output is suitable for human
- consumption only, and does not provide machine-readable timing
- data.
-
- o json (unstable, requires -Zunstable-options): Emit
- machine-readable JSON information about timing information.
+ concurrency information over time.
+
+ A file cargo-timing.html will be written to the target/cargo-timings
+ directory at the end of the build. An additional report with a
+ timestamp in its filename is also written if you want to look at a
+ previous run. These reports are suitable for human consumption only,
+ and do not provide machine-readable timing data.
--crate-type crate-type
Build for the given crate type. This flag accepts a comma-separated
diff --git a/src/doc/man/generated_txt/cargo-rustdoc.txt b/src/doc/man/generated_txt/cargo-rustdoc.txt
index 95401d12d36..ccfe21bfde9 100644
--- a/src/doc/man/generated_txt/cargo-rustdoc.txt
+++ b/src/doc/man/generated_txt/cargo-rustdoc.txt
@@ -165,24 +165,15 @@ OPTIONS
for more
details on profiles.
- --timings=fmts
+ --timings
Output information how long each compilation takes, and track
- concurrency information over time. Accepts an optional
- comma-separated list of output formats; --timings without an
- argument will default to --timings=html. Specifying an output format
- (rather than the default) is unstable and requires
- -Zunstable-options. Valid output formats:
-
- o html (unstable, requires -Zunstable-options): Write a
- human-readable file cargo-timing.html to the target/cargo-timings
- directory with a report of the compilation. Also write a report
- to the same directory with a timestamp in the filename if you
- want to look at older runs. HTML output is suitable for human
- consumption only, and does not provide machine-readable timing
- data.
-
- o json (unstable, requires -Zunstable-options): Emit
- machine-readable JSON information about timing information.
+ concurrency information over time.
+
+ A file cargo-timing.html will be written to the target/cargo-timings
+ directory at the end of the build. An additional report with a
+ timestamp in its filename is also written if you want to look at a
+ previous run. These reports are suitable for human consumption only,
+ and do not provide machine-readable timing data.
Output Options
--target-dir directory
diff --git a/src/doc/man/generated_txt/cargo-test.txt b/src/doc/man/generated_txt/cargo-test.txt
index 6190b1559ea..a40ffe1c010 100644
--- a/src/doc/man/generated_txt/cargo-test.txt
+++ b/src/doc/man/generated_txt/cargo-test.txt
@@ -279,24 +279,15 @@ OPTIONS
for more
details on profiles.
- --timings=fmts
+ --timings
Output information how long each compilation takes, and track
- concurrency information over time. Accepts an optional
- comma-separated list of output formats; --timings without an
- argument will default to --timings=html. Specifying an output format
- (rather than the default) is unstable and requires
- -Zunstable-options. Valid output formats:
-
- o html (unstable, requires -Zunstable-options): Write a
- human-readable file cargo-timing.html to the target/cargo-timings
- directory with a report of the compilation. Also write a report
- to the same directory with a timestamp in the filename if you
- want to look at older runs. HTML output is suitable for human
- consumption only, and does not provide machine-readable timing
- data.
-
- o json (unstable, requires -Zunstable-options): Emit
- machine-readable JSON information about timing information.
+ concurrency information over time.
+
+ A file cargo-timing.html will be written to the target/cargo-timings
+ directory at the end of the build. An additional report with a
+ timestamp in its filename is also written if you want to look at a
+ previous run. These reports are suitable for human consumption only,
+ and do not provide machine-readable timing data.
Output Options
--target-dir directory
diff --git a/src/doc/man/includes/options-timings.md b/src/doc/man/includes/options-timings.md
index d4e5998b597..5a462fef896 100644
--- a/src/doc/man/includes/options-timings.md
+++ b/src/doc/man/includes/options-timings.md
@@ -1,16 +1,11 @@
-{{#option "`--timings=`_fmts_"}}
+{{#option "`--timings`"}}
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma-separated list of output
-formats; `--timings` without an argument will default to `--timings=html`.
-Specifying an output format (rather than the default) is unstable and requires
-`-Zunstable-options`. Valid output formats:
+information over time.
-- `html` (unstable, requires `-Zunstable-options`): Write a human-readable file `cargo-timing.html` to the
- `target/cargo-timings` directory with a report of the compilation. Also write
- a report to the same directory with a timestamp in the filename if you want
- to look at older runs. HTML output is suitable for human consumption only,
- and does not provide machine-readable timing data.
-- `json` (unstable, requires `-Zunstable-options`): Emit machine-readable JSON
- information about timing information.
+A file `cargo-timing.html` will be written to the `target/cargo-timings`
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine-readable timing data.
{{/option}}
diff --git a/src/doc/src/commands/cargo-bench.md b/src/doc/src/commands/cargo-bench.md
index 6b3dc61f827..cab06a0b74c 100644
--- a/src/doc/src/commands/cargo-bench.md
+++ b/src/doc/src/commands/cargo-bench.md
@@ -296,21 +296,14 @@ See the reference for more details on p
-
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma-separated list of output
-formats; --timings without an argument will default to --timings=html.
-Specifying an output format (rather than the default) is unstable and requires
--Zunstable-options. Valid output formats:
-
-
html (unstable, requires -Zunstable-options): Write a human-readable file cargo-timing.html to the
-target/cargo-timings directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine-readable timing data.
A file cargo-timing.html will be written to the target/cargo-timings
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine-readable timing data.
diff --git a/src/doc/src/commands/cargo-build.md b/src/doc/src/commands/cargo-build.md
index 15b35aaecf6..f47254d7b1d 100644
--- a/src/doc/src/commands/cargo-build.md
+++ b/src/doc/src/commands/cargo-build.md
@@ -216,21 +216,14 @@ See the reference for more details on p
-
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma-separated list of output
-formats; --timings without an argument will default to --timings=html.
-Specifying an output format (rather than the default) is unstable and requires
--Zunstable-options. Valid output formats:
-
-
html (unstable, requires -Zunstable-options): Write a human-readable file cargo-timing.html to the
-target/cargo-timings directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine-readable timing data.
A file cargo-timing.html will be written to the target/cargo-timings
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine-readable timing data.
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma-separated list of output
-formats; --timings without an argument will default to --timings=html.
-Specifying an output format (rather than the default) is unstable and requires
--Zunstable-options. Valid output formats:
-
-
html (unstable, requires -Zunstable-options): Write a human-readable file cargo-timing.html to the
-target/cargo-timings directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine-readable timing data.
A file cargo-timing.html will be written to the target/cargo-timings
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine-readable timing data.
diff --git a/src/doc/src/commands/cargo-doc.md b/src/doc/src/commands/cargo-doc.md
index 261b581e91f..62a27d41854 100644
--- a/src/doc/src/commands/cargo-doc.md
+++ b/src/doc/src/commands/cargo-doc.md
@@ -191,21 +191,14 @@ See the reference for more details on p
-
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma-separated list of output
-formats; --timings without an argument will default to --timings=html.
-Specifying an output format (rather than the default) is unstable and requires
--Zunstable-options. Valid output formats:
-
-
html (unstable, requires -Zunstable-options): Write a human-readable file cargo-timing.html to the
-target/cargo-timings directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine-readable timing data.
A file cargo-timing.html will be written to the target/cargo-timings
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine-readable timing data.
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma-separated list of output
-formats; --timings without an argument will default to --timings=html.
-Specifying an output format (rather than the default) is unstable and requires
--Zunstable-options. Valid output formats:
-
-
html (unstable, requires -Zunstable-options): Write a human-readable file cargo-timing.html to the
-target/cargo-timings directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine-readable timing data.
A file cargo-timing.html will be written to the target/cargo-timings
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine-readable timing data.
diff --git a/src/doc/src/commands/cargo-install.md b/src/doc/src/commands/cargo-install.md
index c98defc6174..199f9feca67 100644
--- a/src/doc/src/commands/cargo-install.md
+++ b/src/doc/src/commands/cargo-install.md
@@ -271,21 +271,14 @@ See the reference for more details on p
-
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma-separated list of output
-formats; --timings without an argument will default to --timings=html.
-Specifying an output format (rather than the default) is unstable and requires
--Zunstable-options. Valid output formats:
-
-
html (unstable, requires -Zunstable-options): Write a human-readable file cargo-timing.html to the
-target/cargo-timings directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine-readable timing data.
A file cargo-timing.html will be written to the target/cargo-timings
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine-readable timing data.
diff --git a/src/doc/src/commands/cargo-run.md b/src/doc/src/commands/cargo-run.md
index 8fd777b0bd8..99540c5797e 100644
--- a/src/doc/src/commands/cargo-run.md
+++ b/src/doc/src/commands/cargo-run.md
@@ -122,21 +122,14 @@ See the reference for more details on p
-
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma-separated list of output
-formats; --timings without an argument will default to --timings=html.
-Specifying an output format (rather than the default) is unstable and requires
--Zunstable-options. Valid output formats:
-
-
html (unstable, requires -Zunstable-options): Write a human-readable file cargo-timing.html to the
-target/cargo-timings directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine-readable timing data.
A file cargo-timing.html will be written to the target/cargo-timings
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine-readable timing data.
diff --git a/src/doc/src/commands/cargo-rustc.md b/src/doc/src/commands/cargo-rustc.md
index 4c9c73ccbac..6c81459a264 100644
--- a/src/doc/src/commands/cargo-rustc.md
+++ b/src/doc/src/commands/cargo-rustc.md
@@ -213,21 +213,14 @@ similar to the test profile.
-
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma-separated list of output
-formats; --timings without an argument will default to --timings=html.
-Specifying an output format (rather than the default) is unstable and requires
--Zunstable-options. Valid output formats:
-
-
html (unstable, requires -Zunstable-options): Write a human-readable file cargo-timing.html to the
-target/cargo-timings directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine-readable timing data.
A file cargo-timing.html will be written to the target/cargo-timings
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine-readable timing data.
diff --git a/src/doc/src/commands/cargo-rustdoc.md b/src/doc/src/commands/cargo-rustdoc.md
index d2b7e582cf8..419a00d0d5f 100644
--- a/src/doc/src/commands/cargo-rustdoc.md
+++ b/src/doc/src/commands/cargo-rustdoc.md
@@ -209,21 +209,14 @@ See the reference for more details on p
-
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma-separated list of output
-formats; --timings without an argument will default to --timings=html.
-Specifying an output format (rather than the default) is unstable and requires
--Zunstable-options. Valid output formats:
-
-
html (unstable, requires -Zunstable-options): Write a human-readable file cargo-timing.html to the
-target/cargo-timings directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine-readable timing data.
A file cargo-timing.html will be written to the target/cargo-timings
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine-readable timing data.
diff --git a/src/doc/src/commands/cargo-test.md b/src/doc/src/commands/cargo-test.md
index 3e0d75ac3c3..bcf2d31bf04 100644
--- a/src/doc/src/commands/cargo-test.md
+++ b/src/doc/src/commands/cargo-test.md
@@ -326,21 +326,14 @@ See the reference for more details on p
-
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma-separated list of output
-formats; --timings without an argument will default to --timings=html.
-Specifying an output format (rather than the default) is unstable and requires
--Zunstable-options. Valid output formats:
-
-
html (unstable, requires -Zunstable-options): Write a human-readable file cargo-timing.html to the
-target/cargo-timings directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine-readable timing data.
A file cargo-timing.html will be written to the target/cargo-timings
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine-readable timing data.
diff --git a/src/doc/src/reference/unstable.md b/src/doc/src/reference/unstable.md
index 71d674b0975..4fae09c1f12 100644
--- a/src/doc/src/reference/unstable.md
+++ b/src/doc/src/reference/unstable.md
@@ -2153,8 +2153,9 @@ See the [Features chapter](features.md#dependency-features) for more information
## timings
The `-Ztimings` option has been stabilized as `--timings` in the 1.60 release.
-(`--timings=html` and the machine-readable `--timings=json` output remain
-unstable and require `-Zunstable-options`.)
+The timings output format option
+(e.g., the `--timings=html` and the machine-readable `--timings=json` output)
+has been removed in 1.94.0-nightly.
## config-cli
diff --git a/src/etc/man/cargo-bench.1 b/src/etc/man/cargo-bench.1
index 8683fdcf624..2b72a53a295 100644
--- a/src/etc/man/cargo-bench.1
+++ b/src/etc/man/cargo-bench.1
@@ -297,26 +297,16 @@ Benchmark with the given profile.
See \fIthe reference\fR for more details on profiles.
.RE
.sp
-\fB\-\-timings=\fR\fIfmts\fR
+\fB\-\-timings\fR
.RS 4
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma\-separated list of output
-formats; \fB\-\-timings\fR without an argument will default to \fB\-\-timings=html\fR\&.
-Specifying an output format (rather than the default) is unstable and requires
-\fB\-Zunstable\-options\fR\&. Valid output formats:
+information over time.
.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBhtml\fR (unstable, requires \fB\-Zunstable\-options\fR): Write a human\-readable file \fBcargo\-timing.html\fR to the
-\fBtarget/cargo\-timings\fR directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine\-readable timing data.
-.RE
-.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBjson\fR (unstable, requires \fB\-Zunstable\-options\fR): Emit machine\-readable JSON
-information about timing information.
-.RE
+A file \fBcargo\-timing.html\fR will be written to the \fBtarget/cargo\-timings\fR
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine\-readable timing data.
.RE
.SS "Output Options"
.sp
diff --git a/src/etc/man/cargo-build.1 b/src/etc/man/cargo-build.1
index b95cc195256..38bb7172c75 100644
--- a/src/etc/man/cargo-build.1
+++ b/src/etc/man/cargo-build.1
@@ -203,26 +203,16 @@ Build with the given profile.
See \fIthe reference\fR for more details on profiles.
.RE
.sp
-\fB\-\-timings=\fR\fIfmts\fR
+\fB\-\-timings\fR
.RS 4
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma\-separated list of output
-formats; \fB\-\-timings\fR without an argument will default to \fB\-\-timings=html\fR\&.
-Specifying an output format (rather than the default) is unstable and requires
-\fB\-Zunstable\-options\fR\&. Valid output formats:
+information over time.
.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBhtml\fR (unstable, requires \fB\-Zunstable\-options\fR): Write a human\-readable file \fBcargo\-timing.html\fR to the
-\fBtarget/cargo\-timings\fR directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine\-readable timing data.
-.RE
-.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBjson\fR (unstable, requires \fB\-Zunstable\-options\fR): Emit machine\-readable JSON
-information about timing information.
-.RE
+A file \fBcargo\-timing.html\fR will be written to the \fBtarget/cargo\-timings\fR
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine\-readable timing data.
.RE
.SS "Output Options"
.sp
diff --git a/src/etc/man/cargo-check.1 b/src/etc/man/cargo-check.1
index a75ea2cc1d3..e8ea64ba4b1 100644
--- a/src/etc/man/cargo-check.1
+++ b/src/etc/man/cargo-check.1
@@ -205,26 +205,16 @@ detail.
See \fIthe reference\fR for more details on profiles.
.RE
.sp
-\fB\-\-timings=\fR\fIfmts\fR
+\fB\-\-timings\fR
.RS 4
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma\-separated list of output
-formats; \fB\-\-timings\fR without an argument will default to \fB\-\-timings=html\fR\&.
-Specifying an output format (rather than the default) is unstable and requires
-\fB\-Zunstable\-options\fR\&. Valid output formats:
+information over time.
.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBhtml\fR (unstable, requires \fB\-Zunstable\-options\fR): Write a human\-readable file \fBcargo\-timing.html\fR to the
-\fBtarget/cargo\-timings\fR directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine\-readable timing data.
-.RE
-.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBjson\fR (unstable, requires \fB\-Zunstable\-options\fR): Emit machine\-readable JSON
-information about timing information.
-.RE
+A file \fBcargo\-timing.html\fR will be written to the \fBtarget/cargo\-timings\fR
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine\-readable timing data.
.RE
.SS "Output Options"
.sp
diff --git a/src/etc/man/cargo-doc.1 b/src/etc/man/cargo-doc.1
index 9b81b7a8fcf..04356e75e8e 100644
--- a/src/etc/man/cargo-doc.1
+++ b/src/etc/man/cargo-doc.1
@@ -174,26 +174,16 @@ Document with the given profile.
See \fIthe reference\fR for more details on profiles.
.RE
.sp
-\fB\-\-timings=\fR\fIfmts\fR
+\fB\-\-timings\fR
.RS 4
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma\-separated list of output
-formats; \fB\-\-timings\fR without an argument will default to \fB\-\-timings=html\fR\&.
-Specifying an output format (rather than the default) is unstable and requires
-\fB\-Zunstable\-options\fR\&. Valid output formats:
+information over time.
.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBhtml\fR (unstable, requires \fB\-Zunstable\-options\fR): Write a human\-readable file \fBcargo\-timing.html\fR to the
-\fBtarget/cargo\-timings\fR directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine\-readable timing data.
-.RE
-.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBjson\fR (unstable, requires \fB\-Zunstable\-options\fR): Emit machine\-readable JSON
-information about timing information.
-.RE
+A file \fBcargo\-timing.html\fR will be written to the \fBtarget/cargo\-timings\fR
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine\-readable timing data.
.RE
.SS "Output Options"
.sp
diff --git a/src/etc/man/cargo-fix.1 b/src/etc/man/cargo-fix.1
index 26ad4865be9..f20c7115051 100644
--- a/src/etc/man/cargo-fix.1
+++ b/src/etc/man/cargo-fix.1
@@ -300,26 +300,16 @@ detail.
See \fIthe reference\fR for more details on profiles.
.RE
.sp
-\fB\-\-timings=\fR\fIfmts\fR
+\fB\-\-timings\fR
.RS 4
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma\-separated list of output
-formats; \fB\-\-timings\fR without an argument will default to \fB\-\-timings=html\fR\&.
-Specifying an output format (rather than the default) is unstable and requires
-\fB\-Zunstable\-options\fR\&. Valid output formats:
+information over time.
.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBhtml\fR (unstable, requires \fB\-Zunstable\-options\fR): Write a human\-readable file \fBcargo\-timing.html\fR to the
-\fBtarget/cargo\-timings\fR directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine\-readable timing data.
-.RE
-.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBjson\fR (unstable, requires \fB\-Zunstable\-options\fR): Emit machine\-readable JSON
-information about timing information.
-.RE
+A file \fBcargo\-timing.html\fR will be written to the \fBtarget/cargo\-timings\fR
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine\-readable timing data.
.RE
.SS "Output Options"
.sp
diff --git a/src/etc/man/cargo-install.1 b/src/etc/man/cargo-install.1
index 18994303af0..f96f53c1e5d 100644
--- a/src/etc/man/cargo-install.1
+++ b/src/etc/man/cargo-install.1
@@ -291,26 +291,16 @@ Install with the given profile.
See \fIthe reference\fR for more details on profiles.
.RE
.sp
-\fB\-\-timings=\fR\fIfmts\fR
+\fB\-\-timings\fR
.RS 4
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma\-separated list of output
-formats; \fB\-\-timings\fR without an argument will default to \fB\-\-timings=html\fR\&.
-Specifying an output format (rather than the default) is unstable and requires
-\fB\-Zunstable\-options\fR\&. Valid output formats:
+information over time.
.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBhtml\fR (unstable, requires \fB\-Zunstable\-options\fR): Write a human\-readable file \fBcargo\-timing.html\fR to the
-\fBtarget/cargo\-timings\fR directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine\-readable timing data.
-.RE
-.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBjson\fR (unstable, requires \fB\-Zunstable\-options\fR): Emit machine\-readable JSON
-information about timing information.
-.RE
+A file \fBcargo\-timing.html\fR will be written to the \fBtarget/cargo\-timings\fR
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine\-readable timing data.
.RE
.SS "Manifest Options"
.sp
diff --git a/src/etc/man/cargo-run.1 b/src/etc/man/cargo-run.1
index 16afce2753a..404c03a83dc 100644
--- a/src/etc/man/cargo-run.1
+++ b/src/etc/man/cargo-run.1
@@ -109,26 +109,16 @@ Run with the given profile.
See \fIthe reference\fR for more details on profiles.
.RE
.sp
-\fB\-\-timings=\fR\fIfmts\fR
+\fB\-\-timings\fR
.RS 4
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma\-separated list of output
-formats; \fB\-\-timings\fR without an argument will default to \fB\-\-timings=html\fR\&.
-Specifying an output format (rather than the default) is unstable and requires
-\fB\-Zunstable\-options\fR\&. Valid output formats:
+information over time.
.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBhtml\fR (unstable, requires \fB\-Zunstable\-options\fR): Write a human\-readable file \fBcargo\-timing.html\fR to the
-\fBtarget/cargo\-timings\fR directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine\-readable timing data.
-.RE
-.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBjson\fR (unstable, requires \fB\-Zunstable\-options\fR): Emit machine\-readable JSON
-information about timing information.
-.RE
+A file \fBcargo\-timing.html\fR will be written to the \fBtarget/cargo\-timings\fR
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine\-readable timing data.
.RE
.SS "Output Options"
.sp
diff --git a/src/etc/man/cargo-rustc.1 b/src/etc/man/cargo-rustc.1
index c42752ef1b3..5c43e3bdc48 100644
--- a/src/etc/man/cargo-rustc.1
+++ b/src/etc/man/cargo-rustc.1
@@ -209,26 +209,16 @@ similar to the \fBtest\fR profile.
See \fIthe reference\fR for more details on profiles.
.RE
.sp
-\fB\-\-timings=\fR\fIfmts\fR
+\fB\-\-timings\fR
.RS 4
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma\-separated list of output
-formats; \fB\-\-timings\fR without an argument will default to \fB\-\-timings=html\fR\&.
-Specifying an output format (rather than the default) is unstable and requires
-\fB\-Zunstable\-options\fR\&. Valid output formats:
+information over time.
.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBhtml\fR (unstable, requires \fB\-Zunstable\-options\fR): Write a human\-readable file \fBcargo\-timing.html\fR to the
-\fBtarget/cargo\-timings\fR directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine\-readable timing data.
-.RE
-.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBjson\fR (unstable, requires \fB\-Zunstable\-options\fR): Emit machine\-readable JSON
-information about timing information.
-.RE
+A file \fBcargo\-timing.html\fR will be written to the \fBtarget/cargo\-timings\fR
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine\-readable timing data.
.RE
.sp
\fB\-\-crate\-type\fR \fIcrate\-type\fR
diff --git a/src/etc/man/cargo-rustdoc.1 b/src/etc/man/cargo-rustdoc.1
index b033294da10..fb7ee3c5178 100644
--- a/src/etc/man/cargo-rustdoc.1
+++ b/src/etc/man/cargo-rustdoc.1
@@ -191,26 +191,16 @@ Document with the given profile.
See \fIthe reference\fR for more details on profiles.
.RE
.sp
-\fB\-\-timings=\fR\fIfmts\fR
+\fB\-\-timings\fR
.RS 4
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma\-separated list of output
-formats; \fB\-\-timings\fR without an argument will default to \fB\-\-timings=html\fR\&.
-Specifying an output format (rather than the default) is unstable and requires
-\fB\-Zunstable\-options\fR\&. Valid output formats:
+information over time.
.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBhtml\fR (unstable, requires \fB\-Zunstable\-options\fR): Write a human\-readable file \fBcargo\-timing.html\fR to the
-\fBtarget/cargo\-timings\fR directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine\-readable timing data.
-.RE
-.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBjson\fR (unstable, requires \fB\-Zunstable\-options\fR): Emit machine\-readable JSON
-information about timing information.
-.RE
+A file \fBcargo\-timing.html\fR will be written to the \fBtarget/cargo\-timings\fR
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine\-readable timing data.
.RE
.SS "Output Options"
.sp
diff --git a/src/etc/man/cargo-test.1 b/src/etc/man/cargo-test.1
index 22e22e51c0d..58dd1fb6c5a 100644
--- a/src/etc/man/cargo-test.1
+++ b/src/etc/man/cargo-test.1
@@ -324,26 +324,16 @@ Test with the given profile.
See \fIthe reference\fR for more details on profiles.
.RE
.sp
-\fB\-\-timings=\fR\fIfmts\fR
+\fB\-\-timings\fR
.RS 4
Output information how long each compilation takes, and track concurrency
-information over time. Accepts an optional comma\-separated list of output
-formats; \fB\-\-timings\fR without an argument will default to \fB\-\-timings=html\fR\&.
-Specifying an output format (rather than the default) is unstable and requires
-\fB\-Zunstable\-options\fR\&. Valid output formats:
+information over time.
.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBhtml\fR (unstable, requires \fB\-Zunstable\-options\fR): Write a human\-readable file \fBcargo\-timing.html\fR to the
-\fBtarget/cargo\-timings\fR directory with a report of the compilation. Also write
-a report to the same directory with a timestamp in the filename if you want
-to look at older runs. HTML output is suitable for human consumption only,
-and does not provide machine\-readable timing data.
-.RE
-.sp
-.RS 4
-\h'-04'\(bu\h'+03'\fBjson\fR (unstable, requires \fB\-Zunstable\-options\fR): Emit machine\-readable JSON
-information about timing information.
-.RE
+A file \fBcargo\-timing.html\fR will be written to the \fBtarget/cargo\-timings\fR
+directory at the end of the build. An additional report with a timestamp
+in its filename is also written if you want to look at a previous run.
+These reports are suitable for human consumption only, and do not provide
+machine\-readable timing data.
.RE
.SS "Output Options"
.sp
diff --git a/tests/testsuite/cargo_bench/help/stdout.term.svg b/tests/testsuite/cargo_bench/help/stdout.term.svg
index 3a28fa104ec..55b85f71ac9 100644
--- a/tests/testsuite/cargo_bench/help/stdout.term.svg
+++ b/tests/testsuite/cargo_bench/help/stdout.term.svg
@@ -1,7 +1,7 @@