Skip to content

Commit 1382b44

Browse files
committed
Auto merge of #11425 - willcrichton:scrape-examples-documentation, r=weihanglo
Update documentation for -Zrustdoc-scrape-examples in the Cargo Book ### What does this PR try to resolve? Description in the title. Fixes #11424. ### How should we test and review this PR? Here's a screenshot of the updated documentation: <img width="814" alt="Screen Shot 2022-11-25 at 6 24 49 PM" src="https://user-images.githubusercontent.com/663326/204065460-4e06c638-7e3d-4c00-a805-7cb4b5a3803b.png"> r? `@weihanglo`
2 parents e027c4b + 0007252 commit 1382b44

File tree

1 file changed

+34
-5
lines changed

1 file changed

+34
-5
lines changed

src/doc/src/reference/unstable.md

+34-5
Original file line numberDiff line numberDiff line change
@@ -1154,15 +1154,44 @@ path = "src/main.rs"
11541154
* RFC: [#3123](https://github.com/rust-lang/rfcs/pull/3123)
11551155
* Tracking Issue: [#9910](https://github.com/rust-lang/cargo/issues/9910)
11561156

1157-
The `-Z rustdoc-scrape-examples` argument tells Rustdoc to search crates in the current workspace
1158-
for calls to functions. Those call-sites are then included as documentation. The flag can take an
1159-
argument of `all` or `examples` which configures which crate in the workspace to analyze for examples.
1160-
For instance:
1157+
The `-Z rustdoc-scrape-examples` flag tells Rustdoc to search crates in the current workspace
1158+
for calls to functions. Those call-sites are then included as documentation. You can use the flag
1159+
like this:
11611160

11621161
```
1163-
cargo doc -Z unstable-options -Z rustdoc-scrape-examples=examples
1162+
cargo doc -Z unstable-options -Z rustdoc-scrape-examples
1163+
```
1164+
1165+
By default, Cargo will scrape from the packages that are being documented, as well as scrape from
1166+
examples for the packages (i.e. those corresponding to the `--examples` flag). You can individually
1167+
enable or disable targets from being scraped with the `doc-scrape-examples` flag, such as:
1168+
1169+
```toml
1170+
# Disable scraping examples from a library
1171+
[lib]
1172+
doc-scrape-examples = false
1173+
1174+
# Enable scraping examples from a binary
1175+
[[bin]]
1176+
name = "my-bin"
1177+
doc-scrape-examples = true
11641178
```
11651179

1180+
**Note on tests:** enabling `doc-scrape-examples` on test targets will not currently have any effect. Scraping
1181+
examples from tests is a work-in-progress.
1182+
1183+
**Note on dev-dependencies:** documenting a library does not normally require the crate's dev-dependencies. However,
1184+
example units do require dev-deps. For backwards compatibility, `-Z rustdoc-scrape-examples` will *not* introduce a
1185+
dev-deps requirement for `cargo doc`. Therefore examples will *not* be scraped from example targets under the
1186+
following conditions:
1187+
1188+
1. No target being documented requires dev-deps, AND
1189+
2. At least one crate being documented requires dev-deps, AND
1190+
3. The `doc-scrape-examples` parameter is unset for `[[example]]` targets.
1191+
1192+
If you want examples to be scraped from example targets, then you must not satisfy one of the above conditions.
1193+
1194+
11661195
### check-cfg
11671196

11681197
* RFC: [#3013](https://github.com/rust-lang/rfcs/pull/3013)

0 commit comments

Comments
 (0)