Skip to content

Commit

Permalink
Rollup merge of #132876 - lolbinarycat:rustdoc-document-hidden-items,…
Browse files Browse the repository at this point in the history
… r=GuillaumeGomez

rustdoc book: acknowledge --document-hidden-items
  • Loading branch information
matthiaskrgr authored Feb 21, 2025
2 parents 9f48ded + ff7533e commit 4395618
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 4 deletions.
3 changes: 2 additions & 1 deletion src/doc/rustdoc/src/command-line-arguments.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,8 @@ mod private { // this item is private and will not be documented
}
```

`--document-private-items` documents all items, even if they're not public.
`--document-private-items` includes all non-public items in the generated documentation except for `#[doc(hidden)]` items. Private items will be shown with a 🔒 icon.


## `-L`/`--library-path`: where to look for dependencies

Expand Down
19 changes: 19 additions & 0 deletions src/doc/rustdoc/src/unstable-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,25 @@ themselves marked as unstable. To use any of these options, pass `-Z unstable-op
the flag in question to Rustdoc on the command-line. To do this from Cargo, you can either use the
`RUSTDOCFLAGS` environment variable or the `cargo rustdoc` command.

### `--document-hidden-items`: Show items that are `#[doc(hidden)]`
<span id="document-hidden-items"></span>

By default, `rustdoc` does not document items that are annotated with
[`#[doc(hidden)]`](write-documentation/the-doc-attribute.html#hidden).

`--document-hidden-items` causes all items to be documented as if they did not have `#[doc(hidden)]`, except that hidden items will be shown with a 👻 icon.

Here is a table that fully describes which items are documented with each combination of `--document-hidden-items` and `--document-private-items`:


| rustdoc flags | items that will be documented |
|---------------------------------|---------------------------------------|
| neither flag | only public items that are not hidden |
| only `--document-hidden-items` | all public items |
| only `--document-private-items` | all items that are not hidden |
| both flags | all items |


### `--markdown-before-content`: include rendered Markdown before the content

* Tracking issue: [#44027](https://github.com/rust-lang/rust/issues/44027)
Expand Down
5 changes: 2 additions & 3 deletions src/doc/rustdoc/src/write-documentation/the-doc-attribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -230,9 +230,8 @@ If you want to know more about inlining rules, take a look at the

<span id="dochidden"></span>

Any item annotated with `#[doc(hidden)]` will not appear in the documentation, unless
the `strip-hidden` pass is removed. Re-exported items where one of its ancestors has
`#[doc(hidden)]` will be considered the same as private.
Any item annotated with `#[doc(hidden)]` will not appear in the documentation,
unless the [`--document-hidden-items`](../unstable-features.md#document-hidden-items) flag is used.

You can find more information in the [`re-exports` chapter](./re-exports.md).

Expand Down

0 comments on commit 4395618

Please sign in to comment.