| #![allow(dead_code, unreachable_code)] |
| //@ edition: 2021 |
| |
| // Regression test for #93054: Functions using uninhabited types often only have a single, |
| // unreachable basic block which doesn't get instrumented. This should not cause llvm-cov to fail. |
| // Since these kinds functions can't be invoked anyway, it's ok to not have coverage data for them. |
| |
| enum Never {} |
| |
| impl Never { |
| fn foo(self) { |
| match self {} |
| make().map(|never| match never {}); |
| } |
| |
| fn bar(&self) { |
| match *self {} |
| } |
| } |
| |
| async fn foo2(never: Never) { |
| match never {} |
| } |
| |
| fn make() -> Option<Never> { |
| None |
| } |
| |
| fn main() {} |