]> git.proxmox.com Git - rustc.git/blob - src/test/mir-opt/simplify-arm.rs
Update upstream source from tag 'upstream/1.45.0+dfsg1'
[rustc.git] / src / test / mir-opt / simplify-arm.rs
1 // compile-flags: -Z mir-opt-level=1
2 // EMIT_MIR rustc.id.SimplifyArmIdentity.diff
3 // EMIT_MIR rustc.id.SimplifyBranchSame.diff
4 // EMIT_MIR rustc.id_result.SimplifyArmIdentity.diff
5 // EMIT_MIR rustc.id_result.SimplifyBranchSame.diff
6 // EMIT_MIR rustc.id_try.SimplifyArmIdentity.diff
7 // EMIT_MIR rustc.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 }