Manually implement Debug for BTreeMap::{IntoKeys,IntoValues} structs
This commit is contained in:
parent
1facd4a77b
commit
a313abe3ba
@ -298,14 +298,23 @@ pub struct IntoIter<K, V> {
|
||||
length: usize,
|
||||
}
|
||||
|
||||
#[stable(feature = "collection_debug", since = "1.17.0")]
|
||||
impl<K: fmt::Debug, V: fmt::Debug> fmt::Debug for IntoIter<K, V> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
impl<K, V> IntoIter<K, V> {
|
||||
/// Returns an iterator of references over the remaining items.
|
||||
#[inline]
|
||||
pub(super) fn iter(&self) -> Iter<'_, K, V> {
|
||||
let range = Range {
|
||||
front: self.front.as_ref().map(|f| f.reborrow()),
|
||||
back: self.back.as_ref().map(|b| b.reborrow()),
|
||||
};
|
||||
f.debug_list().entries(range).finish()
|
||||
|
||||
Iter { range: range, length: self.length }
|
||||
}
|
||||
}
|
||||
|
||||
#[stable(feature = "collection_debug", since = "1.17.0")]
|
||||
impl<K: fmt::Debug, V: fmt::Debug> fmt::Debug for IntoIter<K, V> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_list().entries(self.iter()).finish()
|
||||
}
|
||||
}
|
||||
|
||||
@ -364,11 +373,17 @@ pub struct ValuesMut<'a, K: 'a, V: 'a> {
|
||||
///
|
||||
/// [`into_keys`]: BTreeMap::into_keys
|
||||
#[unstable(feature = "map_into_keys_values", issue = "75294")]
|
||||
#[derive(Debug)]
|
||||
pub struct IntoKeys<K, V> {
|
||||
inner: IntoIter<K, V>,
|
||||
}
|
||||
|
||||
#[unstable(feature = "map_into_keys_values", issue = "75294")]
|
||||
impl<K: fmt::Debug, V> fmt::Debug for IntoKeys<K, V> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_list().entries(self.inner.iter().map(|(key, _)| key)).finish()
|
||||
}
|
||||
}
|
||||
|
||||
/// An owning iterator over the values of a `BTreeMap`.
|
||||
///
|
||||
/// This `struct` is created by the [`into_values`] method on [`BTreeMap`].
|
||||
@ -376,11 +391,17 @@ pub struct IntoKeys<K, V> {
|
||||
///
|
||||
/// [`into_values`]: BTreeMap::into_values
|
||||
#[unstable(feature = "map_into_keys_values", issue = "75294")]
|
||||
#[derive(Debug)]
|
||||
pub struct IntoValues<K, V> {
|
||||
inner: IntoIter<K, V>,
|
||||
}
|
||||
|
||||
#[unstable(feature = "map_into_keys_values", issue = "75294")]
|
||||
impl<K, V: fmt::Debug> fmt::Debug for IntoValues<K, V> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_list().entries(self.inner.iter().map(|(_, val)| val)).finish()
|
||||
}
|
||||
}
|
||||
|
||||
/// An iterator over a sub-range of entries in a `BTreeMap`.
|
||||
///
|
||||
/// This `struct` is created by the [`range`] method on [`BTreeMap`]. See its
|
||||
|
Loading…
Reference in New Issue
Block a user