]> git.lizzy.rs Git - rust.git/blobdiff - src/doc/rustc/src/instrument-coverage.md
Require `-Zunstable-options` for `-C instrument-coverage=except-*` options
[rust.git] / src / doc / rustc / src / instrument-coverage.md
index 3d817f143054b9caa881e890b104777529fb0e96..b94989161ccfc6bc7099f018d275e545954b8e79 100644 (file)
@@ -119,7 +119,7 @@ If `LLVM_PROFILE_FILE` contains a path to a non-existent directory, the missing
 
 LLVM's supplies two tools—`llvm-profdata` and `llvm-cov`—that process coverage data and generate reports. There are several ways to find and/or install these tools, but note that the coverage mapping data generated by the Rust compiler requires LLVM version 12 or higher, and processing the *raw* data may require exactly the LLVM version used by the compiler. (`llvm-cov --version` typically shows the tool's LLVM version number, and `rustc --verbose --version` shows the version of LLVM used by the Rust compiler.)
 
--   You can install compatible versions of these tools via the `rustup` component `llvm-tools-preview`. This component is the recommended path, though it's still considered experimental. In this case, you may also find `cargo-binutils` useful as a wrapper around these tools.
+-   You can install compatible versions of these tools via the `rustup` component `llvm-tools-preview`. This component is the recommended path, though the specific tools available and their interface is not currently subject to Rust's usual stability guarantees. In this case, you may also find `cargo-binutils` useful as a wrapper around these tools.
 -   You can install a compatible version of LLVM tools from your operating system distribution, or from your distribution of LLVM.
 -   If you are building the Rust compiler from source, you can optionally use the bundled LLVM tools, built from source. Those tool binaries can typically be found in your build platform directory at something like: `rust/build/x86_64-unknown-linux-gnu/llvm/bin/llvm-*`.
 
@@ -318,9 +318,9 @@ $ llvm-cov report \
 ## `-C instrument-coverage=<options>`
 
 -   `-C instrument-coverage=all`: Instrument all functions, including unused functions and unused generics. (This is the same as `-C instrument-coverage`, with no value.)
--   `-C instrument-coverage=except-unused-generics`: Instrument all functions except unused generics.
--   `-C instrument-coverage=except-unused-functions`: Instrument only used (called) functions and instantiated generic functions.
 -   `-C instrument-coverage=off`: Do not instrument any functions. (This is the same as simply not including the `-C instrument-coverage` option.)
+-   `-Zunstable-options -C instrument-coverage=except-unused-generics`: Instrument all functions except unused generics.
+-   `-Zunstable-options -C instrument-coverage=except-unused-functions`: Instrument only used (called) functions and instantiated generic functions.
 
 ## Other references