diff options
| author | Rich Kadel <richkadel@google.com> | 2020-12-01 23:01:26 -0800 |
|---|---|---|
| committer | Rich Kadel <richkadel@google.com> | 2020-12-03 09:50:10 -0800 |
| commit | d96f351fa36d31f2b95b1cd2ad37ceaed3d395a8 (patch) | |
| tree | b51e88d4b3163850b652ea044962b812bb339b38 /compiler/rustc_mir/src/transform/coverage/spans.rs | |
| parent | def932ca865b86a5057517d8a0e27c0ca72a0815 (diff) | |
| download | rust-d96f351fa36d31f2b95b1cd2ad37ceaed3d395a8.tar.gz rust-d96f351fa36d31f2b95b1cd2ad37ceaed3d395a8.zip | |
Addressed feedback from 2020-12-01
Added one more test (two files) showing coverage of generics and unused functions across crates. Created and referenced new Issues, as requested. Added comments. Added a note about the possible effects of compiler options on LLVM coverage maps.
Diffstat (limited to 'compiler/rustc_mir/src/transform/coverage/spans.rs')
| -rw-r--r-- | compiler/rustc_mir/src/transform/coverage/spans.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/compiler/rustc_mir/src/transform/coverage/spans.rs b/compiler/rustc_mir/src/transform/coverage/spans.rs index 38d66a442ad..6eb89754ee6 100644 --- a/compiler/rustc_mir/src/transform/coverage/spans.rs +++ b/compiler/rustc_mir/src/transform/coverage/spans.rs @@ -359,12 +359,12 @@ impl<'a, 'tcx> CoverageSpans<'a, 'tcx> { } // Async functions wrap a closure that implements the body to be executed. The enclosing - // function is initially called, posts the closure to the executor, and returns. To avoid - // showing the return from the enclosing function as a "covered" return from the closure, - // the enclosing function's `TerminatorKind::Return`s `CoverageSpan` is excluded. The - // closure's `Return` is the only one that will be counted. This provides adequate - // coverage, and more intuitive counts. (Avoids double-counting the closing brace of the - // function body.) + // function is called and returns an `impl Future` without initially executing any of the + // body. To avoid showing the return from the enclosing function as a "covered" return from + // the closure, the enclosing function's `TerminatorKind::Return`s `CoverageSpan` is + // excluded. The closure's `Return` is the only one that will be counted. This provides + // adequate coverage, and more intuitive counts. (Avoids double-counting the closing brace + // of the function body.) let body_ends_with_closure = if let Some(last_covspan) = refined_spans.last() { last_covspan.is_closure && last_covspan.span.hi() == self.body_span.hi() } else { |
