Skip to content

Commit dbca989

Browse files
committed
Rollup merge of rust-lang#30952 - jonastepe:nomicon_vec_zst_code_fix, r=Gankro
* Moved semicolon to the right place in the `let` statement in the ZST section. * Fixed the missing ZST additions for `RawValIter<T>` from this section in the final code section.
2 parents a993669 + 5c62178 commit dbca989

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

src/doc/nomicon/vec-final.md

+10-2
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,11 @@ impl<T> Iterator for RawValIter<T> {
226226
} else {
227227
unsafe {
228228
let result = ptr::read(self.start);
229-
self.start = self.start.offset(1);
229+
self.start = if mem::size_of::<T>() == 0 {
230+
(self.start as usize + 1) as *const _
231+
} else {
232+
self.start.offset(1)
233+
};
230234
Some(result)
231235
}
232236
}
@@ -246,7 +250,11 @@ impl<T> DoubleEndedIterator for RawValIter<T> {
246250
None
247251
} else {
248252
unsafe {
249-
self.end = self.end.offset(-1);
253+
self.end = if mem::size_of::<T>() == 0 {
254+
(self.end as usize - 1) as *const _
255+
} else {
256+
self.end.offset(-1)
257+
};
250258
Some(ptr::read(self.end))
251259
}
252260
}

src/doc/nomicon/vec-zsts.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,8 @@ impl<T> Iterator for RawValIter<T> {
140140
self.start = if mem::size_of::<T>() == 0 {
141141
(self.start as usize + 1) as *const _
142142
} else {
143-
self.start.offset(1);
144-
}
143+
self.start.offset(1)
144+
};
145145
Some(result)
146146
}
147147
}
@@ -164,8 +164,8 @@ impl<T> DoubleEndedIterator for RawValIter<T> {
164164
self.end = if mem::size_of::<T>() == 0 {
165165
(self.end as usize - 1) as *const _
166166
} else {
167-
self.end.offset(-1);
168-
}
167+
self.end.offset(-1)
168+
};
169169
Some(ptr::read(self.end))
170170
}
171171
}

0 commit comments

Comments
 (0)