mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-29 00:00:11 +02:00
docs: improve RustDoc for unstable features (#4331)
Currently, the docs.rs documentation for tokio is built without --cfg tokio_unstable set. This means that unstable features are not shown in the API docs, making them difficutl to discover. Clearly, we do want to document the existence of unstable APIs, given that there's a section in the lib.rs documentation listing them, so it would be better if it was also possible to determine what APIs an unstable feature enables when reading the RustDoc documentation. This branch changes the docs.rs metadata to also pass --cfg tokio_unstable when building the documentation. It turns out that it's necessary to separately pass the cfg flag to both RustDoc and rustc, or else the tracing dependency, which is only enabled in target.cfg(tokio_unstable).dependencies, will be missing and the build will fail. In addition, I made some minor improvements to the docs for unstable features. Some links in the task::Builder docs were broken, and the required tokio_unstable cfg was missing from the doc(cfg(...)) attributes. Furthermore, I added a note in the top-level docs for unstable APIs, stating that they are unstable and linking back to the section in the crate-level docs that explains how to enable unstable features. Fixes #4328
This commit is contained in:
@@ -139,6 +139,14 @@ correctly, use this command:
|
||||
RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --all-features
|
||||
```
|
||||
|
||||
To build documentation including Tokio's unstable features, it is necessary to
|
||||
pass `--cfg tokio_unstable` to both RustDoc *and* rustc. To build the
|
||||
documentation for unstable features, use this command:
|
||||
|
||||
```
|
||||
RUSTDOCFLAGS="--cfg docsrs --cfg tokio_unstable" RUSTFLAGS="--cfg tokio_unstable" cargo +nightly doc --all-features
|
||||
```
|
||||
|
||||
There is currently a [bug in cargo] that means documentation cannot be built
|
||||
from the root of the workspace. If you `cd` into the `tokio` subdirectory the
|
||||
command shown above will work.
|
||||
|
||||
Reference in New Issue
Block a user