Skip to content

Commit b7f8908

Browse files
committed
feat(rustdoc): stabilize --emit flag
1 parent 9ea8d67 commit b7f8908

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

src/doc/rustdoc/src/command-line-arguments.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,35 @@ When `rustdoc` receives this flag, it will print an extra "Version (version)" in
440440
the crate root's docs. You can use this flag to differentiate between different versions of your
441441
library's documentation.
442442

443+
## `--emit`: control the types of output for rustdoc to emit
444+
445+
This flag controls the types of output by rustdoc. It accepts a comma-separated
446+
list of values, and may be specified multiple times. The valid emit kinds are:
447+
448+
- `toolchain-shared-resources` --- Generates shared static files that their
449+
contents are tied to a specific toolchain version. These are written with a
450+
filename that includes a hash of their contents, so they are safe to cache with the
451+
change if the toolchain version or their contents change, so it is safe to
452+
cache them wit the `Cache-Control: immutable` directive.
453+
- `invocation-specific` --- Generates files based on the crate(s) being
454+
documented. These file names need to be deterministic so there is no
455+
content-hash in their file names.
456+
- `dep-info` --- Generates a file with Makefile syntax that indicates all the
457+
source files that were loaded to document the crate. The default output
458+
filename is `CRATE_NAME.d`. This emit type can can optionally be followed by
459+
`=` to specify an explicit output path, for example,
460+
`--emit=dep-info=/path/to/foo.d`. The output can be sent to stdout by
461+
specifying `-` as the path (e.g., `--emit=dep-info=-`).
462+
463+
Using this flag looks like this:
464+
465+
```bash
466+
$ rustdoc src/lib.rs --emit=toolchain-shared-resources,invocation-specific,dep-info=/path/too/build/cache/foo.d
467+
```
468+
469+
If not specified, the default emit types would be
470+
`--emit=toolchain-shared-resources,invocation-specific`.
471+
443472
## `-`: load source code from the standard input
444473

445474
If you specify `-` as the INPUT on the command line, then `rustdoc` will read the

src/librustdoc/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@ fn opts() -> Vec<RustcOptGroup> {
562562
"",
563563
),
564564
opt(
565-
Unstable,
565+
Stable,
566566
Multi,
567567
"",
568568
"emit",

0 commit comments

Comments
 (0)