]>
Commit | Line | Data |
---|---|---|
5869c6ff XL |
1 | // This test is a mirror of codegen/issue-59352.rs. |
2 | // The LLVM inliner doesn't inline `char::method::is_digit()` and so it doesn't recognize this case | |
3 | // as effectively `if x.is_some() { x.unwrap() } else { 0 }`. | |
4 | // | |
5 | // Currently, the MIR optimizer isn't capable of removing the unreachable panic in this test case. | |
6 | // Once the optimizer can do that, this test case will need to be updated and codegen/issue-59352.rs | |
7 | // removed. | |
8 | ||
9 | // EMIT_MIR issue_59352.num_to_digit.PreCodegen.after.mir | |
6a06907d | 10 | // compile-flags: -Z mir-opt-level=3 -Z span_free_formats |
5869c6ff XL |
11 | |
12 | pub fn num_to_digit(num: char) -> u32 { | |
13 | // CHECK-NOT: panic | |
14 | if num.is_digit(8) { num.to_digit(8).unwrap() } else { 0 } | |
15 | } | |
16 | ||
17 | pub fn main() { | |
18 | num_to_digit('2'); | |
19 | } |