LL| |#![feature(coverage_attribute)] | |
LL| |//@ edition: 2021 | |
LL| |//@ reference: attributes.coverage.nesting | |
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| |} | |