CARGO-RUSTDOC(1) | General Commands Manual | CARGO-RUSTDOC(1) |
NAME
cargo-rustdoc — Build a package’s documentation, using specified custom flags
SYNOPSIS
cargo rustdoc [options] [-- args]
DESCRIPTION
The specified target for the current package (or package specified by -p if provided) will be documented with the specified args being passed to the final rustdoc invocation. Dependencies will not be documented as part of this command. Note that rustdoc will still unconditionally receive arguments such as -L, --extern, and --crate-type, and the specified args will simply be added to the rustdoc invocation.
See https://doc.rust-lang.org/rustdoc/index.html for documentation on rustdoc flags.
This command requires that only one target is being compiled when additional arguments are provided. If more than one target is available for the current package the filters of --lib, --bin, etc, must be used to select which target is compiled.
To pass flags to all rustdoc processes spawned by Cargo, use the RUSTDOCFLAGS environment variable https://doc.rust-lang.org/cargo/reference/environment-variables.html or the build.rustdocflags config value https://doc.rust-lang.org/cargo/reference/config.html.
OPTIONS
Documentation Options
--open
Package Selection
By default, the package in the current working directory is selected. The -p flag can be used to choose a different package in a workspace.
-p spec, --package spec
Target Selection
When no target selection options are given, cargo rustdoc will document all binary and library targets of the selected package. The binary will be skipped if its name is the same as the lib target. Binaries are skipped if they have required-features that are missing.
Passing target selection flags will document only the specified targets.
Note that --bin, --example, --test and --bench flags also support common Unix glob patterns like *, ? and []. However, to avoid your shell accidentally expanding glob patterns before Cargo handles them, you must use single quotes or double quotes around each glob pattern.
--lib
--bin name…
--bins
--example name…
--examples
--test name…
--tests
--bench name…
--benches
--all-targets
Feature Selection
The feature flags allow you to control which features are enabled. When no feature options are given, the default feature is activated for every selected package.
See the features documentation https://doc.rust-lang.org/cargo/reference/features.html#command-line-feature-options for more details.
-F features, --features features
--all-features
--no-default-features
Compilation Options
--target triple
This may also be specified with the build.target config value https://doc.rust-lang.org/cargo/reference/config.html.
Note that specifying this flag makes Cargo run in a different mode where the target artifacts are placed in a separate directory. See the build cache https://doc.rust-lang.org/cargo/guide/build-cache.html documentation for more details.
-r, --release
--profile name
--timings=fmts
Output Options
--target-dir directory
Display Options
-v, --verbose
-q, --quiet
--color when
May also be specified with the term.color config value https://doc.rust-lang.org/cargo/reference/config.html.
--message-format fmt
Manifest Options
--manifest-path path
--ignore-rust-version
--locked
It may be used in environments where deterministic builds are desired, such as in CI pipelines.
--offline
Beware that this may result in different dependency resolution than online mode. Cargo will restrict itself to crates that are downloaded locally, even if there might be a newer version as indicated in the local copy of the index. See the cargo-fetch(1) command to download dependencies before going offline.
May also be specified with the net.offline config value https://doc.rust-lang.org/cargo/reference/config.html.
--frozen
--lockfile-path PATH
This option is only available on the nightly channel https://doc.rust-lang.org/book/appendix-07-nightly-rust.html and requires the -Z unstable-options flag to enable (see #14421 https://github.com/rust-lang/cargo/issues/14421).
Common Options
+toolchain
--config KEY=VALUE or PATH
-C PATH
This option is only available on the nightly channel https://doc.rust-lang.org/book/appendix-07-nightly-rust.html and requires the -Z unstable-options flag to enable (see #10098 https://github.com/rust-lang/cargo/issues/10098).
-h, --help
-Z flag
Miscellaneous Options
-j N, --jobs N
--keep-going
For example if the current package depends on dependencies fails and works, one of which fails to build, cargo rustdoc -j1 may or may not build the one that succeeds (depending on which one of the two builds Cargo picked to run first), whereas cargo rustdoc -j1 --keep-going would definitely run both builds, even if the one run first fails.
--output-format
This option is only available on the nightly channel https://doc.rust-lang.org/book/appendix-07-nightly-rust.html and requires the -Z unstable-options flag to enable.
ENVIRONMENT
See the reference https://doc.rust-lang.org/cargo/reference/environment-variables.html for details on environment variables that Cargo reads.
EXIT STATUS
EXAMPLES
cargo rustdoc --lib -- --extend-css extra.css