diff options
Diffstat (limited to 'src/test/mir-opt/early_otherwise_branch_noopt.rs')
-rw-r--r-- | src/test/mir-opt/early_otherwise_branch_noopt.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/mir-opt/early_otherwise_branch_noopt.rs b/src/test/mir-opt/early_otherwise_branch_noopt.rs new file mode 100644 index 000000000..ef766bbd4 --- /dev/null +++ b/src/test/mir-opt/early_otherwise_branch_noopt.rs @@ -0,0 +1,18 @@ +// 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)); +} |