Cargo: Optionally document dev-dependencies

Created on 30 Dec 2016  路  5Comments  路  Source: rust-lang/cargo

Currently cargo doc will build documentation for the crate and its dependencies, which is useful as (outside of the core Rust distribution) you get a one stop shop of documentation while working on a crate, however as far as I could see "dev-dependencies" can't be included in that.

This is inconvenient for test-support libraries and for complex "examples" e.g. in a library crate you want a binary which depends on docopt/clap or ncurses or winapi or the Ruby C API or some other large dependency which is completely unnecessary for the core library, but you don't want to fork it to a separate crate, so you make it an example and use dev dependencies, however you've now lost offline access to the "large dependency"'s documentation.

Command-doc

Most helpful comment

I'd like to implement this feature

All 5 comments

Sounds like a good idea to me! I could imagine something like cargo doc --dev or something like that for this.

I'd like to implement this feature

I was just looking for this. Awesome progress, keep going! 馃嵒

It will be done soon! Just been focusing on cargo fix --clippy for the time being, almost done with that though I think.

It's worth to mention that when you run cargo test your dev-dependencies crates are used in checking your docs example code. But when you build documentation (cargo +nightly doc) these crates are ignored in links.

warning: unresolved link to `static_bytes::SafeBytesSlice`
   --> src/mac/frame/mod.rs:279:29
    |
279 |     /// [`SafeBytesSlice`]: static_bytes::SafeBytesSlice
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unresolved link
    |
    = note: `#[warn(broken_intra_doc_links)]` on by default
    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`

warning: 1 warning emitted

Version:

cargo +nightly version
cargo 1.47.0-nightly (51b66125b 2020-08-19)
Was this page helpful?
0 / 5 - 0 ratings