This repository has been archived by the owner on Nov 1, 2023. It is now read-only.
Excluded source files included in source coverage if inlined #3207
Labels
bug
Something isn't working
A single module offset can represent many source-line coverage locations via a virtual stack of inlined functions. When converting binary coverage to source coverage, we initialize source locations for every inlinee. This does not take into account the original allowlist. As a result, excluded source files end up in the source coverage output.
While this doesn't interfere with recording, and never excludes source files, we care about, it produces confusing and overly verbose output. This becomes really acute for Rust binaries, where debug builds include detailed debuginfo for the many statically-linked dependencies. Instead, plumb source allowlists through to the binary-to-source conversion functions, and only emit source-line coverage locations for inlinees if the allowlist includes them.
#AB154016
The text was updated successfully, but these errors were encountered: