diff --git a/src/libcollections/vec.rs b/src/libcollections/vec.rs index d6a21ef19a28..0777a1a128fd 100644 --- a/src/libcollections/vec.rs +++ b/src/libcollections/vec.rs @@ -1647,7 +1647,10 @@ impl Vec { // Create a `Vec` from our `PartialVecZeroSized` and make sure the // destructor of the latter will not run. None of this can panic. let mut result = Vec::new(); - unsafe { result.set_len(pv.num_u); } + unsafe { + result.set_len(pv.num_u); + mem::forget(pv); + } result } }