#![allow(dead_code, deprecated, unused_variables, unused_mut)] #![feature(maybe_uninit_fill)] use std::mem::MaybeUninit; fn main() { let mut buf = [const { MaybeUninit::uninit() }; 3]; let mut iter = [1, 2, 3, 4, 5].into_iter(); let (initialized, remainder) = buf.write_iter(iter.by_ref()); assert_eq!(initialized, & mut [1, 2, 3]); assert_eq!(remainder.len(), 0); assert_eq!(iter.as_slice(), & [4, 5]); }