П
Size: a a a
П
r
M
ΑZ
use std::mem::MaybeUninit;
#[derive(Debug)]
struct S {
x: usize,
y: usize
}
fn main() {
let s = unsafe {
let mut s = MaybeUninit::<S>::uninit();
(*s.as_mut_ptr()).x = 1;
(*s.as_mut_ptr()).y = 2;
s.assume_init()
};
println!("{:?}", s);
}
Куда уж выразительнееП
D
*s.as_mut_ptr()DF
ΑZ
DF
П
DF
danglingDF
dangling он тогда когда под ним нет валидного значенияDF
П
D
П
D