Skip to content

Commit 0c9508d

Browse files
authored
Merge pull request #580 from zeenix/add-debug
Add missing `Debug` derive to `vec::IntoIter`
2 parents 779e608 + a290cec commit 0c9508d

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
1313
- Removed generic from `history_buf::OldestOrdered`.
1414
- Made `LenType` opt-in.
1515
- Minor fixes to `pool::boxed` docs.
16+
- Add missing `Debug` derive to `vec::IntoIter`.
1617

1718
### Fixed
1819

src/vec/mod.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1495,6 +1495,31 @@ where
14951495
}
14961496
}
14971497

1498+
impl<T, LenT: LenType, const N: usize> core::fmt::Debug for IntoIter<T, N, LenT>
1499+
where
1500+
T: core::fmt::Debug,
1501+
{
1502+
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
1503+
let s = if self.next < self.vec.len {
1504+
unsafe {
1505+
slice::from_raw_parts(
1506+
self.vec
1507+
.buffer
1508+
.buffer
1509+
.as_ptr()
1510+
.cast::<T>()
1511+
.add(self.next.into_usize()),
1512+
(self.vec.len - self.next).into_usize(),
1513+
)
1514+
}
1515+
} else {
1516+
&[]
1517+
};
1518+
1519+
write!(f, "{s:?}")
1520+
}
1521+
}
1522+
14981523
impl<T, LenT: LenType, const N: usize> Drop for IntoIter<T, N, LenT> {
14991524
fn drop(&mut self) {
15001525
unsafe {

0 commit comments

Comments
 (0)