]>
Commit | Line | Data |
---|---|---|
1b1a35ee XL |
1 | // EMIT_MIR issue_75439.foo.MatchBranchSimplification.diff |
2 | ||
1b1a35ee XL |
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() { | |
94222f64 | 17 | let _ = foo([0; 16]); |
1b1a35ee | 18 | } |