Rollup merge of #34937 - GuillaumeGomez:hash_map_entry_debug, r=apasel422
Add debug for hash_map::{Entry, VacantEntry, OccupiedEntry} r? @alexcrichton
This commit is contained in:
commit
22a14a8389
@ -1351,6 +1351,20 @@ pub enum Entry<'a, K: 'a, V: 'a> {
|
|||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[stable(feature= "debug_hash_map", since = "1.12.0")]
|
||||||
|
impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for Entry<'a, K, V> {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
match *self {
|
||||||
|
Vacant(ref v) => f.debug_tuple("Entry")
|
||||||
|
.field(v)
|
||||||
|
.finish(),
|
||||||
|
Occupied(ref o) => f.debug_tuple("Entry")
|
||||||
|
.field(o)
|
||||||
|
.finish(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// A view into a single occupied location in a HashMap.
|
/// A view into a single occupied location in a HashMap.
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
pub struct OccupiedEntry<'a, K: 'a, V: 'a> {
|
pub struct OccupiedEntry<'a, K: 'a, V: 'a> {
|
||||||
@ -1358,6 +1372,16 @@ pub struct OccupiedEntry<'a, K: 'a, V: 'a> {
|
|||||||
elem: FullBucket<K, V, &'a mut RawTable<K, V>>,
|
elem: FullBucket<K, V, &'a mut RawTable<K, V>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[stable(feature= "debug_hash_map", since = "1.12.0")]
|
||||||
|
impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for OccupiedEntry<'a, K, V> {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
f.debug_struct("OccupiedEntry")
|
||||||
|
.field("key", self.key())
|
||||||
|
.field("value", self.get())
|
||||||
|
.finish()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// A view into a single empty location in a HashMap.
|
/// A view into a single empty location in a HashMap.
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
pub struct VacantEntry<'a, K: 'a, V: 'a> {
|
pub struct VacantEntry<'a, K: 'a, V: 'a> {
|
||||||
@ -1366,6 +1390,15 @@ pub struct VacantEntry<'a, K: 'a, V: 'a> {
|
|||||||
elem: VacantEntryState<K, V, &'a mut RawTable<K, V>>,
|
elem: VacantEntryState<K, V, &'a mut RawTable<K, V>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[stable(feature= "debug_hash_map", since = "1.12.0")]
|
||||||
|
impl<'a, K: 'a + Debug, V: 'a> Debug for VacantEntry<'a, K, V> {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
f.debug_tuple("VacantEntry")
|
||||||
|
.field(self.key())
|
||||||
|
.finish()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Possible states of a VacantEntry.
|
/// Possible states of a VacantEntry.
|
||||||
enum VacantEntryState<K, V, M> {
|
enum VacantEntryState<K, V, M> {
|
||||||
/// The index is occupied, but the key to insert has precedence,
|
/// The index is occupied, but the key to insert has precedence,
|
||||||
|
Loading…
Reference in New Issue
Block a user