#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::mem::MaybeUninit; fn main() { let mut data: [MaybeUninit; 1000] = [const { MaybeUninit::uninit() }; 1000]; let mut data_len: usize = 0; for elem in &mut data[0..500] { elem.write(String::from("hello")); data_len += 1; } for elem in &mut data[0..data_len] { unsafe { elem.assume_init_drop(); } } }