diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-01-14 07:47:35 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-14 07:47:35 +0100 |
| commit | 3cbc448c9c8257011e6c97e9bef405a4333b361c (patch) | |
| tree | 6d10787922d8c8666a9f329012addfae4f05788c /src/doc/rustdoc | |
| parent | 9d5cb209780c947e198966f2b406fbf830a9b04c (diff) | |
| parent | 241d97750ff79dfdcbf0091e7ee38d00c69818bb (diff) | |
| download | rust-3cbc448c9c8257011e6c97e9bef405a4333b361c.tar.gz rust-3cbc448c9c8257011e6c97e9bef405a4333b361c.zip | |
Rollup merge of #92818 - GuillaumeGomez:update-doc-cfg-doc, r=camelid
Update documentation for doc_cfg feature Fixes #92484.
Diffstat (limited to 'src/doc/rustdoc')
| -rw-r--r-- | src/doc/rustdoc/src/unstable-features.md | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/doc/rustdoc/src/unstable-features.md b/src/doc/rustdoc/src/unstable-features.md index 56ca7c03928..d60be193bda 100644 --- a/src/doc/rustdoc/src/unstable-features.md +++ b/src/doc/rustdoc/src/unstable-features.md @@ -84,6 +84,39 @@ in documentation. `#![feature(doc_cfg)]` feature gate. For more information, see [its chapter in the Unstable Book][unstable-doc-cfg] and [its tracking issue][issue-doc-cfg]. +### `doc_auto_cfg`: Automatically generate `#[doc(cfg)]` + +`doc_auto_cfg` is an extension to the `#[doc(cfg)]` feature. With it, you don't need to add +`#[doc(cfg(...)]` anymore unless you want to override the default behaviour. So if we take the +previous source code: + +```rust +#![feature(doc_auto_cfg)] + +/// Token struct that can only be used on Windows. +#[cfg(any(windows, doc))] +pub struct WindowsToken; + +/// Token struct that can only be used on Unix. +#[cfg(any(unix, doc))] +pub struct UnixToken; + +/// Token struct that is only available with the `serde` feature +#[cfg(feature = "serde")] +#[derive(serde::Deserialize)] +pub struct SerdeToken; +``` + +It'll render almost the same, the difference being that `doc` will also be displayed. To fix this, +you can use `doc_cfg_hide`: + +```rust +#![feature(doc_cfg_hide)] +#![doc(cfg_hide(doc))] +``` + +And `doc` won't show up anymore! + [cfg-doc]: ./advanced-features.md [unstable-doc-cfg]: ../unstable-book/language-features/doc-cfg.html [issue-doc-cfg]: https://github.com/rust-lang/rust/issues/43781 |
