Looks like `cargo llvm-cov` doesn't clean up the entire `target/llvm-cov-target` directory tree, which means running the coverage script more than once fails as `mv` refuses to overwrite the leftover doctest binaries from a previous run.
The doctest binaries can take up ~3GB for a debug build. There's no reason to waste that much disk space and copying them is slower than moving, too. They're only used by `grcov` right now, so they needn't be preserved.
The binary path doesn't contain any doctest executables (i.e., rust_out).
Coverage reports then don't include doctests, presumably because grcov can't map the profdata references to its respective doctest binary.
Previously, we would report some tag style macros such as
`#[repr(packed)]` as being uncovered.
We are now also including doctests in our coverage reports.
Finally, a new script `coverage_report.sh` makes coverage checking
easier.