2023-08-17 01:24:56 +00:00
|
|
|
LL| |#![allow(dead_code, unreachable_code)]
|
2024-01-12 06:12:45 +00:00
|
|
|
LL| |//@ edition: 2021
|
2023-08-17 01:24:56 +00:00
|
|
|
LL| |
|
2023-08-16 02:42:33 +00:00
|
|
|
LL| |// Regression test for #93054: Functions using uninhabited types often only have a single,
|
|
|
|
LL| |// unreachable basic block which doesn't get instrumented. This should not cause llvm-cov to fail.
|
|
|
|
LL| |// Since these kinds functions can't be invoked anyway, it's ok to not have coverage data for them.
|
|
|
|
LL| |
|
2023-08-17 01:43:10 +00:00
|
|
|
LL| |enum Never {}
|
2023-08-16 02:42:33 +00:00
|
|
|
LL| |
|
|
|
|
LL| |impl Never {
|
|
|
|
LL| | fn foo(self) {
|
2023-08-17 01:43:10 +00:00
|
|
|
LL| | match self {}
|
|
|
|
LL| | make().map(|never| match never {});
|
2023-08-16 02:42:33 +00:00
|
|
|
LL| | }
|
|
|
|
LL| |
|
|
|
|
LL| | fn bar(&self) {
|
2023-08-17 01:43:10 +00:00
|
|
|
LL| | match *self {}
|
2023-08-16 02:42:33 +00:00
|
|
|
LL| | }
|
|
|
|
LL| |}
|
|
|
|
LL| |
|
|
|
|
LL| 0|async fn foo2(never: Never) {
|
2023-08-17 01:43:10 +00:00
|
|
|
LL| | match never {}
|
2023-08-16 02:42:33 +00:00
|
|
|
LL| |}
|
|
|
|
LL| |
|
|
|
|
LL| 0|fn make() -> Option<Never> {
|
|
|
|
LL| 0| None
|
|
|
|
LL| 0|}
|
|
|
|
LL| |
|
2023-08-17 01:43:10 +00:00
|
|
|
LL| 1|fn main() {}
|
2022-01-21 01:23:27 +00:00
|
|
|
|