News for hackers. Stuff that matters.
Re:Writing into Uninitialized Buffers in Rust by Arnavion on Wednesday May 21, 2025 @02:33AM (#44048849)
As I wrote in https://news.ycombinator.com/item?id=44048391 , you have to get used to copying the libstd impl when working with MaybeUninit. For my code I put a "TODO(rustup)" comment on such copies, to remind myself to revisit them every time I update the Rust version in toolchain.toml
Re:Writing into Uninitialized Buffers in Rust by nemothekid on Wednesday May 21, 2025 @04:11AM (#44049347)
In other words the """safe""" stable code looks like this:

    let mut data = Vec::with_capacity(sz);
    let mut dst_uninit = data.spare_capacity_mut();
    let uninit_src: &[MaybeUninit<T>] = unsafe { transmute(buf) };
    dst_uninit.copy_from_slice(uninit_src);
    unsafe { data.set_len(sz) };
Re:Writing into Uninitialized Buffers in Rust by Arnavion on Wednesday May 21, 2025 @05:10AM (#44049638)
That's correct.