20 lines
478 B
Rust
20 lines
478 B
Rust
// skip-filecheck
|
|
// unit-test: EarlyOtherwiseBranch
|
|
|
|
// must not optimize as it does not follow the pattern of
|
|
// left and right hand side being the same variant
|
|
|
|
// EMIT_MIR early_otherwise_branch_noopt.noopt1.EarlyOtherwiseBranch.diff
|
|
fn noopt1(x: Option<u32>, y: Option<u32>) -> u32 {
|
|
match (x, y) {
|
|
(Some(a), Some(b)) => 0,
|
|
(Some(a), None) => 1,
|
|
(None, Some(b)) => 2,
|
|
(None, None) => 3,
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
noopt1(None, Some(0));
|
|
}
|