    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|      1|fn fn_level() {
   16|      1|    func(0);
   17|       |
   18|      1|    if false {
   19|      0|        func(1);
   20|      1|    }
   21|      1|}
   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|      1|    fn mod_level() {
   39|      1|        if false {
   40|      0|            func(3);
   41|      1|        }
   42|      1|    }
   43|       |}