about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorYuki Okushi <jtitor@2k36.org>2021-05-07 15:20:26 +0900
committerGitHub <noreply@github.com>2021-05-07 15:20:26 +0900
commit343a094aa1ad890b65cfca8a11a289b5d3f429ac (patch)
tree4d59fb231323b3ada5fbf81d20a1839d445f844f /compiler/rustc_codegen_llvm/src
parentb088318985499c14630bdcf1629f3988da6432a7 (diff)
parentcb70221857d7a44bf4625f1a2d5af189f6a12495 (diff)
downloadrust-343a094aa1ad890b65cfca8a11a289b5d3f429ac.tar.gz
rust-343a094aa1ad890b65cfca8a11a289b5d3f429ac.zip
Rollup merge of #84897 - richkadel:cover-closure-macros, r=tmandry
Coverage instruments closure bodies in macros (not the macro body)

Fixes: #84884

This solution might be considered a compromise, but I think it is the
better choice.

The results in the `closure.rs` test correctly resolve all test cases
broken as described in #84884.

One test pattern (in both `closure_macro.rs` and
`closure_macro_async.rs`) was also affected, and removes coverage
statistics for the lines inside the closure, because the closure
includes a macro. (The coverage remains at the callsite of the macro, so
we lose some detail, but there isn't a perfect choice with macros.

Often macro implementations are split across the macro and the callsite,
and there doesn't appear to be a single "right choice" for which body
should be covered. For the current implementation, we can't do both.

The callsite is most likely to be the preferred site for coverage.

r? `@tmandry`
cc: `@wesleywiser`
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions