    1|       |#![cfg_attr(coverage, feature(coverage_attribute))]
    2|       |
    3|      1|fn func(x: i32) {
    4|      1|    match x {
    5|      1|        0 => {}
    6|      0|        1 => {}
    7|      0|        2 => {}
    8|      0|        3 => {}
    9|      0|        _ => {}
   10|       |    }
   11|      1|}
   12|       |
   13|       |#[cfg_attr(coverage, coverage(off))]
   14|       |#[test]
   15|       |fn fn_level() {
   16|       |    func(0);
   17|       |
   18|       |    if false {
   19|       |        func(1);
   20|       |    }
   21|       |}
   22|       |
   23|       |// #[coverage(off)] has no effect on expressions.
   24|       |// now error by rustc: error[E0788]: attribute should be applied to a function definition or closure
   25|       |#[test]
   26|      1|fn expr_level() {
   27|      1|    if false {
   28|      0|        // #[cfg_attr(coverage, coverage(off))]
   29|      0|        func(2);
   30|      1|    }
   31|      1|}
   32|       |
   33|       |#[cfg_attr(coverage, coverage(off))]
   34|       |mod mod_level {
   35|       |    use super::func;
   36|       |
   37|       |    #[test]
   38|       |    fn mod_level() {
   39|       |        if false {
   40|       |            func(3);
   41|       |        }
   42|       |    }
   43|       |}