diff --git a/src/doc/nomicon/vec-final.md b/src/doc/nomicon/vec-final.md index 52c22f65076f..d0e5c7b0006d 100644 --- a/src/doc/nomicon/vec-final.md +++ b/src/doc/nomicon/vec-final.md @@ -226,7 +226,11 @@ impl Iterator for RawValIter { } else { unsafe { let result = ptr::read(self.start); - self.start = self.start.offset(1); + self.start = if mem::size_of::() == 0 { + (self.start as usize + 1) as *const _ + } else { + self.start.offset(1) + }; Some(result) } } @@ -246,7 +250,11 @@ impl DoubleEndedIterator for RawValIter { None } else { unsafe { - self.end = self.end.offset(-1); + self.end = if mem::size_of::() == 0 { + (self.end as usize - 1) as *const _ + } else { + self.end.offset(-1) + }; Some(ptr::read(self.end)) } }