rust/tests/coverage/attr/off-on-sandwich.coverage
Zalathar 63c04f05e6 coverage: Extract hole spans from HIR instead of MIR
This makes it possible to treat more kinds of nested item/code as holes,
instead of being restricted to closures.
2024-07-08 21:22:56 +10:00

54 lines
1.6 KiB
Plaintext

LL| |#![feature(coverage_attribute)]
LL| |//@ edition: 2021
LL| |
LL| |// Demonstrates the interaction of `#[coverage(off)]` and `#[coverage(on)]`
LL| |// in nested functions.
LL| |
LL| |#[coverage(off)]
LL| |fn do_stuff() {}
LL| |
LL| |#[coverage(off)]
LL| |fn dense_a() {
LL| | dense_b();
LL| | dense_b();
LL| | #[coverage(on)]
LL| 2| fn dense_b() {
LL| 2| dense_c();
LL| 2| dense_c();
LL| | #[coverage(off)]
LL| | fn dense_c() {
LL| | do_stuff();
LL| | }
LL| 2| }
LL| |}
LL| |
LL| |#[coverage(off)]
LL| |fn sparse_a() {
LL| | sparse_b();
LL| | sparse_b();
LL| | fn sparse_b() {
LL| | sparse_c();
LL| | sparse_c();
LL| | #[coverage(on)]
LL| 4| fn sparse_c() {
LL| 4| sparse_d();
LL| 4| sparse_d();
LL| 8| fn sparse_d() {
LL| 8| sparse_e();
LL| 8| sparse_e();
LL| | #[coverage(off)]
LL| | fn sparse_e() {
LL| | do_stuff();
LL| | }
LL| 8| }
LL| 4| }
LL| | }
LL| |}
LL| |
LL| |#[coverage(off)]
LL| |fn main() {
LL| | dense_a();
LL| | sparse_a();
LL| |}