diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c42dd51ec..ea14184463 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ### Changed +- Add missing `Debug` derive to `vec::IntoIter`. - `bytes::BufMut` is now implemented on `VecInner`. - Removed generic from `history_buf::OldestOrdered`. - Made `LenType` opt-in. diff --git a/src/vec/mod.rs b/src/vec/mod.rs index 9eccbfab62..12ff51acb5 100644 --- a/src/vec/mod.rs +++ b/src/vec/mod.rs @@ -1498,6 +1498,31 @@ where } } +impl core::fmt::Debug for IntoIter +where + T: core::fmt::Debug, +{ + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + let s = if self.next < self.vec.len { + unsafe { + slice::from_raw_parts( + self.vec + .buffer + .buffer + .as_ptr() + .cast::() + .add(self.next.into_usize()), + (self.vec.len - self.next).into_usize(), + ) + } + } else { + &[] + }; + + write!(f, "{:?}", s) + } +} + impl Drop for IntoIter { fn drop(&mut self) { unsafe {