10

根据doc.rust-lang.org

使用指定的自定义标志构建 [s] 包的文档

构建一个包的文档

两者有什么区别?据我了解cargo rustdoc,就像cargo doc,但它允许更多的 lints - 例如:

#![deny(rustdoc::broken_intra_doc_links)]

这个对吗?奇怪的是,cargo rustdoc在某些情况下也会失败cargo doc。例如

some/folder on some-branch [$!] via  v1.60.0-nightly
❯ cargo doc
    Finished dev [unoptimized + debuginfo] target(s) in 0.53s

some/folder on some-branch [$!] via  v1.60.0-nightly
❯ cargo rustdoc
error: manifest path `some/folder/Cargo.toml` is a virtual manifest, but this command requires running against an actual package in this workspace

此外,cargo doc不支持添加-D选项,而支持cargo rustdoc

❯ cargo doc -- -D rustdoc::broken_intra_doc_links
error: Found argument '-D' which wasn't expected, or isn't valid in this context

USAGE:
    cargo doc [OPTIONS]

For more information try --help
4

1 回答 1

2

它们的关系类似于 betweencargo buildcargo rustc:cargo doc为整个工作区执行所有常规工作,包括依赖项(默认情况下)。cargo rustdoc允许您将标志直接传递给 rustdoc,并且仅适用于单个 crate。

是 的执行代码cargo rustdoccargo doc. 唯一的区别是cargo rustdoc始终指定不检查依赖项,同时cargo doc允许您选择(默认情况下会检查依赖项,但您可以指定 flag --no-deps),并且cargo rustc允许您将标志直接传递给 rustdoc,并在--.

于 2022-01-11T20:54:57.873 回答