| #![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() {} |