1
Fork 0

std::vec: make init_elem nicer by doing fewer moves.

This commit is contained in:
Huon Wilson 2013-12-17 08:33:50 +11:00
parent 8a5a5922c6
commit dd355700cf

View file

@ -2196,11 +2196,7 @@ impl<'a,T> MutableVector<'a, T> for &'a mut [T] {
#[inline]
unsafe fn init_elem(self, i: uint, val: T) {
let mut alloc = Some(val);
self.as_mut_buf(|p, _len| {
intrinsics::move_val_init(&mut(*ptr::mut_offset(p, i as int)),
alloc.take_unwrap());
})
intrinsics::move_val_init(&mut (*self.as_mut_ptr().offset(i as int)), val);
}
#[inline]