#![feature(coverage_attribute)]
//@ edition: 2021

// Checks that `#[coverage(..)]` can be applied to modules, and is inherited
// by any enclosed functions.

#[coverage(off)]
mod off {
    fn inherit() {}

    #[coverage(on)]
    fn on() {}

    #[coverage(off)]
    fn off() {}
}

#[coverage(on)]
mod on {
    fn inherit() {}

    #[coverage(on)]
    fn on() {}

    #[coverage(off)]
    fn off() {}
}

#[coverage(off)]
mod nested_a {
    mod nested_b {
        fn inner() {}
    }
}

#[coverage(off)]
fn main() {}
