diff options
| author | bors <bors@rust-lang.org> | 2025-06-07 23:05:07 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2025-06-07 23:05:07 +0000 |
| commit | a5584a8fe16037dc01782064fa41424a6dbe9987 (patch) | |
| tree | 45868373b3a39501ee019af887db69e453052a40 /src/doc | |
| parent | cdd545be1b4f024d38360aa9f000dcb782fbc81b (diff) | |
| parent | aa940603f543cfac35045d5be947f84d63e5609e (diff) | |
Auto merge of #142181 - GuillaumeGomez:rollup-pn2p1lu, r=GuillaumeGomez
Rollup of 9 pull requests Successful merges: - rust-lang/rust#140560 (Allow `#![doc(test(attr(..)))]` everywhere) - rust-lang/rust#141447 (Document representation of `Option<unsafe fn()>`) - rust-lang/rust#141661 (Make the `dangerous_implicit_autorefs` lint deny-by-default) - rust-lang/rust#142065 (Stabilize `const_eq_ignore_ascii_case`) - rust-lang/rust#142116 (Fix bootstrap tracing imports) - rust-lang/rust#142126 (Treat normalizing consts like normalizing types in deeply normalize) - rust-lang/rust#142140 (compiler: Sort and doc ExternAbi variants) - rust-lang/rust#142148 (compiler: Treat ForceWarning as a Warning for diagnostic level) - rust-lang/rust#142154 (get rid of spurious cfg(bootstrap)) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'src/doc')
| -rw-r--r-- | src/doc/rustdoc/src/write-documentation/the-doc-attribute.md | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/src/doc/rustdoc/src/write-documentation/the-doc-attribute.md b/src/doc/rustdoc/src/write-documentation/the-doc-attribute.md index 6ec93d1746c..65e6b417427 100644 --- a/src/doc/rustdoc/src/write-documentation/the-doc-attribute.md +++ b/src/doc/rustdoc/src/write-documentation/the-doc-attribute.md @@ -143,15 +143,6 @@ But if you include this: it will not. -### `test(attr(...))` - -This form of the `doc` attribute allows you to add arbitrary attributes to all your doctests. For -example, if you want your doctests to fail if they have dead code, you could add this: - -```rust,no_run -#![doc(test(attr(deny(dead_code))))] -``` - ## At the item level These forms of the `#[doc]` attribute are used on individual items, to control how @@ -283,3 +274,26 @@ To get around this limitation, we just add `#[doc(alias = "lib_name_do_something on the `do_something` method and then it's all good! Users can now look for `lib_name_do_something` in our crate directly and find `Obj::do_something`. + +### `test(attr(...))` + +This form of the `doc` attribute allows you to add arbitrary attributes to all your doctests. For +example, if you want your doctests to fail if they have dead code, you could add this: + +```rust,no_run +#![doc(test(attr(deny(dead_code))))] + +mod my_mod { + #![doc(test(attr(allow(dead_code))))] // but allow `dead_code` for this module +} +``` + +`test(attr(..))` attributes are appended to the parent module's, they do not replace the current +list of attributes. In the previous example, both attributes would be present: + +```rust,no_run +// For every doctest in `my_mod` + +#![deny(dead_code)] // from the crate-root +#![allow(dead_code)] // from `my_mod` +``` |
