We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 60b0636 commit 1b3c6baCopy full SHA for 1b3c6ba
src/libcore/slice/mod.rs
@@ -2382,11 +2382,12 @@ macro_rules! iterator {
2382
impl<'a, T> ExactSizeIterator for $name<'a, T> {
2383
#[inline(always)]
2384
fn len(&self) -> usize {
2385
+ let diff = (self.end as usize).wrapping_sub(self.ptr as usize);
2386
if mem::size_of::<T>() == 0 {
- // end is really ptr+len
2387
- (self.end as usize).wrapping_sub(self.ptr as usize)
+ // end is really ptr+len, so we are already done
2388
+ diff
2389
} else {
- unsafe { self.end.offset_from(self.ptr) as usize }
2390
+ diff / mem::size_of::<T>()
2391
}
2392
2393
0 commit comments