Изменения в новых версиях / Rust 1.82

#[repr(packed)]
struct Packed {
    flag: u8,
    value: u32,
}

// *** before: ***
// указатель брали макросом, а обычная запись создавала
// промежуточную ссылку и вместе с ней неопределённое поведение
let p = std::ptr::addr_of!(packed.value);

// *** in version 1.82: ***
// то же самое стало частью языка
let p = &raw const packed.value;
let q = &raw mut packed.value;
println!("{}"unsafe { p.read_unaligned() });