#![allow(unused_variables)] fn main() { let mut vec = Vec::::with_capacity(10); let ptr = vec.as_mut_ptr(); let mut into_iter = vec.into_iter(); let mut into_iter = std::mem::replace(&mut into_iter, Vec::new().into_iter()); (&mut into_iter).for_each(drop); std::mem::forget(into_iter); drop(unsafe { Vec::::from_raw_parts(ptr, 0, 10) }); }