coverage: Test for closure body that is a single bang-macro
This commit is contained in:
parent
268dbbbc4b
commit
fe420dc46e
16
tests/coverage/macro_in_closure.cov-map
Normal file
16
tests/coverage/macro_in_closure.cov-map
Normal file
@ -0,0 +1,16 @@
|
||||
Function name: macro_in_closure::NO_BLOCK::{closure#0}
|
||||
Raw bytes (9): 0x[01, 01, 00, 01, 01, 07, 1c, 00, 2d]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 0
|
||||
Number of file 0 mappings: 1
|
||||
- Code(Counter(0)) at (prev + 7, 28) to (start + 0, 45)
|
||||
|
||||
Function name: macro_in_closure::WITH_BLOCK::{closure#0}
|
||||
Raw bytes (9): 0x[01, 01, 00, 01, 01, 09, 1e, 02, 02]
|
||||
Number of files: 1
|
||||
- file 0 => global file 1
|
||||
Number of expressions: 0
|
||||
Number of file 0 mappings: 1
|
||||
- Code(Counter(0)) at (prev + 9, 30) to (start + 2, 2)
|
||||
|
18
tests/coverage/macro_in_closure.coverage
Normal file
18
tests/coverage/macro_in_closure.coverage
Normal file
@ -0,0 +1,18 @@
|
||||
LL| |#![feature(coverage_attribute)]
|
||||
LL| |// edition: 2021
|
||||
LL| |
|
||||
LL| |// If a closure body consists entirely of a single bang-macro invocation, the
|
||||
LL| |// body span ends up inside the macro-expansion, so we need to un-expand it
|
||||
LL| |// back to the declaration site.
|
||||
LL| 1|static NO_BLOCK: fn() = || println!("hello");
|
||||
LL| |
|
||||
LL| 1|static WITH_BLOCK: fn() = || {
|
||||
LL| 1| println!("hello");
|
||||
LL| 1|};
|
||||
LL| |
|
||||
LL| |#[coverage(off)]
|
||||
LL| |fn main() {
|
||||
LL| | NO_BLOCK();
|
||||
LL| | WITH_BLOCK();
|
||||
LL| |}
|
||||
|
17
tests/coverage/macro_in_closure.rs
Normal file
17
tests/coverage/macro_in_closure.rs
Normal file
@ -0,0 +1,17 @@
|
||||
#![feature(coverage_attribute)]
|
||||
// edition: 2021
|
||||
|
||||
// If a closure body consists entirely of a single bang-macro invocation, the
|
||||
// body span ends up inside the macro-expansion, so we need to un-expand it
|
||||
// back to the declaration site.
|
||||
static NO_BLOCK: fn() = || println!("hello");
|
||||
|
||||
static WITH_BLOCK: fn() = || {
|
||||
println!("hello");
|
||||
};
|
||||
|
||||
#[coverage(off)]
|
||||
fn main() {
|
||||
NO_BLOCK();
|
||||
WITH_BLOCK();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user