Skip to content

Conversation

@weihanglo
Copy link
Member

TODO: stabilization report?

r? rustdoc

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Sep 5, 2025
@weihanglo
Copy link
Member Author

Questions:

  • Do we want to stabilize also unversioned-shared-resources option? It currently does nothing AFAIK.
  • Do we want a stabilization report?
  • How many details do we want to put in doc?

@weihanglo
Copy link
Member Author

cc @aDotInTheVoid since you've involved in the PR removing the last blocker :)

@weihanglo weihanglo marked this pull request as ready for review September 24, 2025 19:21
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Sep 24, 2025
@fmease fmease added the needs-fcp This change is insta-stable, or significant enough to need a team FCP to proceed. label Oct 13, 2025
@notriddle notriddle self-assigned this Oct 13, 2025
@GuillaumeGomez
Copy link
Member

We discussed on today's rustdoc meeting. Before going any further, we will investigate exactly what each --emit option does exactly to have a clearer picture of what's actually needed and also to add missing documentation.

@weihanglo
Copy link
Member Author

We discussed on today's rustdoc meeting. Before going any further, we will investigate exactly what each --emit option does exactly to have a clearer picture of what's actually needed and also to add missing documentation.

Thanks for it!

This PR contains a doc based on my understanding and the history of these options, but I am not 100% sure if that is correct

@rustbot

This comment has been minimized.

@fmease
Copy link
Member

fmease commented Oct 25, 2025

I haven't read this yet but here are probably some very important and relevant considerations: #83784.

@weihanglo
Copy link
Member Author

For the use case in Cargo, we actually don't need anything other than dep-info. The originak ask was here: #t-rustdoc > Plan to stabilize `--emit=dep-info[=path]` @ 💬:

One thing that might be a blocker: rust-lang/cargo#15605

Do we want to stabilize the --emit flag with all the emit types, or just dep-info? At this moment it is required for cargo to pass --emit=toolchain-shared-resources,invocation-specific,dep-info=<PATH> in order to make the generated doc look good and styled.

I guess one way forward is that rustdoc provides an extra emit type, say, default. So that cargo can run --emit=default,dep-info=/path/to/foo.d without even considering those other options. And in rustdoc documentation we can state that the default emit type is whatever the default emits rustdoc is doing. Pretty much like --remap-path-scope=all:

all - an alias for all of the above, also equivalent to supplying only --remap-path-prefix without --remap-path-scope.

notriddle added a commit to notriddle/rust that referenced this pull request Oct 27, 2025
This option hasn't done anything for a long time, and can be
removed. I've kept a shim in place to avoid breaking docs.rs,
but the option no longer does anything.

Using git-blame, I tracked this option down to
f77ebd4, the commit that
introduced EmitType in the first place. It was used with
SharedResource::Unversioned, which no longer exists since
f9e1f6f removed them.

Part of rust-lang#146220
@notriddle
Copy link
Contributor

I've opened #148180, a follow-up that removes the no-op unversioned-shared-resources, which hasn't done anything ever since we switched to using hashes for cache busting.

notriddle added a commit to notriddle/rust that referenced this pull request Oct 27, 2025
This option hasn't done anything for a long time, and can be
removed. I've kept a shim in place to avoid breaking docs.rs,
but the option no longer does anything.

Using git-blame, I tracked this option down to
f77ebd4, the commit that
introduced EmitType in the first place. It was used with
SharedResource::Unversioned, which no longer exists since
f9e1f6f removed them.

CC rust-lang#146220
Part of rust-lang#83784
@rustbot

This comment has been minimized.

notriddle added a commit to notriddle/rust that referenced this pull request Oct 28, 2025
This option hasn't done anything for a long time, and can be
removed. I've kept a shim in place to avoid breaking docs.rs,
but the option no longer does anything.

Using git-blame, I tracked this option down to
f77ebd4, the commit that
introduced EmitType in the first place. It was used with
SharedResource::Unversioned, which no longer exists since
f9e1f6f removed them.

CC rust-lang#146220
Part of rust-lang#83784
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Oct 28, 2025
…rces, r=GuillaumeGomez

rustdoc: remove `--emit=unversioned-shared-resources`

This option hasn't done anything for a long time, and can be removed. I've kept a shim in place to avoid breaking docs.rs, but the option no longer does anything.

Using git-blame, I tracked this option down to
f77ebd4, the commit that introduced EmitType in the first place. It was used with SharedResource::Unversioned, which no longer exists since f9e1f6f removed them.

CC rust-lang#146220
Part of rust-lang#83784
rust-timer added a commit that referenced this pull request Oct 28, 2025
Rollup merge of #148180 - notriddle:unversioned-shared-resources, r=GuillaumeGomez

rustdoc: remove `--emit=unversioned-shared-resources`

This option hasn't done anything for a long time, and can be removed. I've kept a shim in place to avoid breaking docs.rs, but the option no longer does anything.

Using git-blame, I tracked this option down to
f77ebd4, the commit that introduced EmitType in the first place. It was used with SharedResource::Unversioned, which no longer exists since f9e1f6f removed them.

CC #146220
Part of #83784
Copy link
Member Author

@weihanglo weihanglo left a comment

Choose a reason for hiding this comment

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

This PR has updated and removed the unversioned-shared-resources option, which was removed in #148180

View changes since this review

GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Oct 30, 2025
…=GuillaumeGomez

rustdoc: fix `--emit=dep-info` on scraped examples

Makes sure both stages (the scraping process itself, and the doc build) emit complete dependency lists.

CC rust-lang#146220
Part of rust-lang#83784
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Oct 30, 2025
…=GuillaumeGomez

rustdoc: fix `--emit=dep-info` on scraped examples

Makes sure both stages (the scraping process itself, and the doc build) emit complete dependency lists.

CC rust-lang#146220
Part of rust-lang#83784
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Nov 3, 2025
…=GuillaumeGomez

rustdoc: fix `--emit=dep-info` on scraped examples

Makes sure both stages (the scraping process itself, and the doc build) emit complete dependency lists.

CC rust-lang#146220
Part of rust-lang#83784
rust-timer added a commit that referenced this pull request Nov 3, 2025
Rollup merge of #148268 - notriddle:emit-scraped-examples, r=GuillaumeGomez

rustdoc: fix `--emit=dep-info` on scraped examples

Makes sure both stages (the scraping process itself, and the doc build) emit complete dependency lists.

CC #146220
Part of #83784
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Nov 4, 2025
…eGomez

rustdoc: fix `--emit=dep-info` on scraped examples

Makes sure both stages (the scraping process itself, and the doc build) emit complete dependency lists.

CC rust-lang/rust#146220
Part of rust-lang/rust#83784
@notriddle
Copy link
Contributor

I haven’t found any more problems with this feature (that don’t involve its interaction with other unstable features).

I think it can be stabilized in its current form.

@GuillaumeGomez
Copy link
Member

@rfcbot fcp merge

@rust-rfcbot
Copy link
Collaborator

Error encounted:
Provided team `` is invalid

@GuillaumeGomez
Copy link
Member

@rfcbot fcp merge rustdoc

@rust-rfcbot
Copy link
Collaborator

rust-rfcbot commented Jan 12, 2026

Team member @GuillaumeGomez 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 Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. labels Jan 12, 2026
This flag controls the types of output by rustdoc. It accepts a comma-separated
list of values, and may be specified multiple times. The valid emit kinds are:

- `toolchain-shared-resources` --- Generates shared static files that their
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- `toolchain-shared-resources` --- Generates shared static files that their
- `toolchain-shared-resources` --- Generates shared static files whose

Comment on lines 451 to 452
change if the toolchain version or their contents change, so it is safe to
cache them wit the `Cache-Control: immutable` directive.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
change if the toolchain version or their contents change, so it is safe to
cache them wit the `Cache-Control: immutable` directive.
change if the toolchain version or their contents change, or with the `Cache-Control: immutable` directive.

Copy link
Member Author

Choose a reason for hiding this comment

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

Updated. Thanks!

This flag controls the types of output by rustdoc. It accepts a comma-separated
list of values, and may be specified multiple times. The valid emit kinds are:

- `toolchain-shared-resources` --- Generates shared static files that their
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure whether these triple-dashes are considered standard :)

Copy link
Member Author

Choose a reason for hiding this comment

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

It's a mdbook stuff. Not sure about rustdoc but Cargo book uses that everywhere

https://rust-lang.github.io/mdBook/format/markdown.html#smart-punctuation

@rustbot
Copy link
Collaborator

rustbot commented Jan 13, 2026

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

disposition-merge This issue / PR is in PFCP or FCP with a disposition to merge it. needs-fcp This change is insta-stable, or significant enough to need a team FCP to proceed. proposed-final-comment-period Proposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants