]> git.proxmox.com Git - rustc.git/blob - tests/mir-opt/issues/issue_75439.rs
New upstream version 1.75.0+dfsg1
[rustc.git] / tests / mir-opt / issues / issue_75439.rs
1 // skip-filecheck
2 // EMIT_MIR issue_75439.foo.MatchBranchSimplification.diff
3 // ignore-endian-big
4
5 use std::mem::transmute;
6
7 pub fn foo(bytes: [u8; 16]) -> Option<[u8; 4]> {
8 // big endian `u32`s
9 let dwords: [u32; 4] = unsafe { transmute(bytes) };
10 const FF: u32 = 0x0000_ffff_u32.to_be();
11 if let [0, 0, 0 | FF, ip] = dwords {
12 Some(unsafe { transmute(ip) })
13 } else {
14 None
15 }
16 }
17
18 fn main() {
19 let _ = foo([0; 16]);
20 }