]> git.proxmox.com Git - rustc.git/blob - src/test/mir-opt/issues/issue_75439.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / 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 }