]> git.lizzy.rs Git - rust.git/blob - src/test/mir-opt/simplify-arm.rs
Auto merge of #83314 - Aaron1011:print-unstable-value, r=lcnr
[rust.git] / src / test / mir-opt / simplify-arm.rs
1 // compile-flags: -Z mir-opt-level=3 -Zunsound-mir-opts
2 // EMIT_MIR simplify_arm.id.SimplifyArmIdentity.diff
3 // EMIT_MIR simplify_arm.id.SimplifyBranchSame.diff
4 // EMIT_MIR simplify_arm.id_result.SimplifyArmIdentity.diff
5 // EMIT_MIR simplify_arm.id_result.SimplifyBranchSame.diff
6 // EMIT_MIR simplify_arm.id_try.SimplifyArmIdentity.diff
7 // EMIT_MIR simplify_arm.id_try.SimplifyBranchSame.diff
8
9 fn id(o: Option<u8>) -> Option<u8> {
10     match o {
11         Some(v) => Some(v),
12         None => None,
13     }
14 }
15
16 fn id_result(r: Result<u8, i32>) -> Result<u8, i32> {
17     match r {
18         Ok(x) => Ok(x),
19         Err(y) => Err(y),
20     }
21 }
22
23 fn id_try(r: Result<u8, i32>) -> Result<u8, i32> {
24     let x = r?;
25     Ok(x)
26 }
27
28 fn main() {
29     id(None);
30     id_result(Ok(4));
31     id_try(Ok(4));
32 }