Skip to content

Commit f14cb96

Browse files
committed
Use RawPtr::offset when size_of::<T>() > 0
1 parent 4184396 commit f14cb96

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/libcollections/vec.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -848,7 +848,11 @@ impl<T> Vec<T> {
848848
let ptr = self.ptr;
849849
let cap = self.cap;
850850
let begin = self.ptr as *const T;
851-
let end = (self.ptr as uint + self.len()) as *const T;
851+
let end = if mem::size_of::<T>() == 0 {
852+
(ptr as uint + self.len()) as *const T;
853+
} else {
854+
ptr.offset(self.len() as int)
855+
};
852856
mem::forget(self);
853857
MoveItems { allocation: ptr, cap: cap, ptr: begin, end: end }
854858
}

0 commit comments

Comments
 (0)