Skip to content

Conversation

@weihanglo
Copy link
Member

@weihanglo weihanglo commented Dec 19, 2025

What does this PR try to resolve?

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.
    feat(log): add output control #16418 was an attempt to add that back,
    but we then decide to punt until seeing requests or needs.

How to test and review this PR?

  • cargo help build and check the manpage
  • cargo build --help and cehck the help text
  • cargo build --timings and it works

@rustbot
Copy link
Collaborator

rustbot commented Dec 19, 2025

r? @ehuss

rustbot has assigned @ehuss.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added A-build-execution Area: anything dealing with executing the compiler A-cli Area: Command-line interface, option parsing, etc. A-cli-help Area: built-in command-line help A-documenting-cargo-itself Area: Cargo's documentation A-json-output Area: JSON message output A-timings Area: timings S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 19, 2025
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it require an FCP?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be good to get a vibe check in case there is interest in build analysis having X amount of functionality before it can replace --timings=json

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has entered FCP: #16420 (comment).

I personally don't think we need to wait for the extra 10 days.

I am fine if we still want to wait for the full FCP.

@weihanglo weihanglo added the T-cargo Team: Cargo label Dec 19, 2025
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.
@weihanglo

This comment was marked as outdated.

@rust-rfcbot

This comment was marked as outdated.

@weihanglo
Copy link
Member Author

@rfcbot fcp merge T-cargo

This removes support for --timings=json, making --timings a plain boolean flag after JSON timing output was removed. See the PR descriptions for more.

@rust-rfcbot
Copy link
Collaborator

rust-rfcbot commented Dec 19, 2025

Team member @weihanglo has proposed to merge this. The next step is review by the rest of the tagged team members:

No concerns currently listed.

Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!

See this document for info about what commands tagged team members can give me.

@rust-rfcbot rust-rfcbot added proposed-final-comment-period An FCP proposal has started, but not yet signed off. disposition-merge FCP with intent to merge labels Dec 19, 2025
@ehuss ehuss moved this to FCP merge in Cargo status tracker Jan 6, 2026
@rust-rfcbot rust-rfcbot added the final-comment-period FCP — a period for last comments before action is taken label Jan 6, 2026
@rust-rfcbot
Copy link
Collaborator

🔔 This is now entering its final comment period, as per the review above. 🔔

@rust-rfcbot rust-rfcbot removed the proposed-final-comment-period An FCP proposal has started, but not yet signed off. label Jan 6, 2026
@epage epage added this pull request to the merge queue Jan 7, 2026
Merged via the queue into rust-lang:master with commit 1436cf9 Jan 7, 2026
29 checks passed
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jan 7, 2026
rust-bors bot added a commit to rust-lang/rust that referenced this pull request Jan 8, 2026
Update cargo submodule

24 commits in 94c368ad2b9db0f0da5bdd8421cea13786ce4412..fc4c92b64d1e0046b66cbdc747cc1c17af8b35a0
2025-12-26 19:39:15 +0000 to 2026-01-08 06:54:56 +0000
- Fixed incorrect version comparision during build script dependency selection (rust-lang/cargo#16486)
- refactor: new type for unit index (rust-lang/cargo#16485)
- feat(test): Make CARGO_BIN_EXE_ available at runtime  (rust-lang/cargo#16421)
- fix(package): detect dirty files when run from workspace member (rust-lang/cargo#16479)
- fix(timing)!: remove `--timings=<FMT>` optional format values (rust-lang/cargo#16420)
- docs(unstable): expand docs for `-Zbuild-analysis` (rust-lang/cargo#16476)
- test: add `-Zunstable-options` with custom targets (rust-lang/cargo#16467)
- feat(report): add cargo report rebuilds  (rust-lang/cargo#16456)
- feat(test-support): Use test name for dir when running tests (rust-lang/cargo#16121)
- refactor: Migrate some cases to expect/reason (rust-lang/cargo#16461)
- docs(build-script): clarify OUT_DIR is not cleaned between builds (rust-lang/cargo#16437)
- chore: Update dependencies (rust-lang/cargo#16460)
- Update handlebars to 6.4.0 (rust-lang/cargo#16457)
- chore(deps): update alpine docker tag to v3.23 (rust-lang/cargo#16454)
- Any build scripts can now use cargo::metadata=KEY=VALUE (rust-lang/cargo#16436)
- fix(log): add `dependencies` field to `UnitRegistered` (rust-lang/cargo#16448)
- Implement fine grain locking for `build-dir` (rust-lang/cargo#16155)
- feat(resolver): List features when no close match (rust-lang/cargo#16445)
- feat(report): new command `cargo report sessions` (rust-lang/cargo#16428)
- feat (patch): Display where the patch was defined in patch-related error messages (rust-lang/cargo#16407)
- test(build-rs): Reduce from 'build' to 'check' where possible (rust-lang/cargo#16444)
- feat(toml): TOML 1.1 parse support (rust-lang/cargo#16415)
- feat(report): support --manifest-path in `cargo report timings` (rust-lang/cargo#16441)
- fix(vendor): recursively filter git files in subdirectories (rust-lang/cargo#16439)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-build-execution Area: anything dealing with executing the compiler A-cli Area: Command-line interface, option parsing, etc. A-cli-help Area: built-in command-line help A-documenting-cargo-itself Area: Cargo's documentation A-json-output Area: JSON message output A-timings Area: timings disposition-merge FCP with intent to merge final-comment-period FCP — a period for last comments before action is taken T-cargo Team: Cargo

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants