]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/issues/issue_75439.rs
fix various subst_identity vs skip_binder
[rust.git] / tests / mir-opt / issues / issue_75439.rs
1 // EMIT_MIR issue_75439.foo.MatchBranchSimplification.diff
2
3 use std::mem::transmute;
4
5 pub fn foo(bytes: [u8; 16]) -> Option<[u8; 4]> {
6     // big endian `u32`s
7     let dwords: [u32; 4] = unsafe { transmute(bytes) };
8     const FF: u32 = 0x0000_ffff_u32.to_be();
9     if let [0, 0, 0 | FF, ip] = dwords {
10         Some(unsafe { transmute(ip) })
11     } else {
12         None
13     }
14 }
15
16 fn main() {
17     let _ = foo([0; 16]);
18 }