Struct DebugMap
#[must_use = "must eventually call `finish()` on Debug builders"]
pub struct DebugMap<'a, 'b: 'a> { pub(in ::fmt::builders) fmt: &'a mut Formatter<'b>, pub(in ::fmt::builders) result: Result, pub(in ::fmt::builders) has_fields: bool, pub(in ::fmt::builders) has_key: bool, pub(in ::fmt::builders) state: PadAdapterState }
A struct to help with fmt::Debug implementations.
This is useful when you wish to output a formatted map as a part of your
Debug::fmt implementation.
This can be constructed by the Formatter::debug_map method.
Examples
use fmt;
>);
assert_eq!;
Fields
fmt: &'a mut Formatter<'b>result: Resulthas_fields: boolhas_key: boolstate: PadAdapterState
Implementations
impl<'a, 'b: 'a> DebugMap<'a, 'b>
fn entry(&mut self, key: &dyn Debug, value: &dyn Debug) -> &mut SelfAdds a new entry to the map output.
Examples
use fmt; >); assert_eq!;fn key(&mut self, key: &dyn Debug) -> &mut SelfAdds the key part of a new entry to the map output.
This method, together with
value, is an alternative toentrythat can be used when the complete entry isn't known upfront. Prefer theentrymethod when it's possible to use.Panics
keymust be called beforevalueand each call tokeymust be followed by a corresponding call tovalue. Otherwise this method will panic.Examples
use fmt; >); assert_eq!;fn key_with<F>(&mut self, key_fmt: F) -> &mut Self where F: FnOnce(&mut Formatter<'_>) -> Result,Adds the key part of a new entry to the map output.
This method is equivalent to
DebugMap::key, but formats the key using a provided closure rather than by callingDebug::fmt.fn value(&mut self, value: &dyn Debug) -> &mut SelfAdds the value part of a new entry to the map output.
This method, together with
key, is an alternative toentrythat can be used when the complete entry isn't known upfront. Prefer theentrymethod when it's possible to use.Panics
keymust be called beforevalueand each call tokeymust be followed by a corresponding call tovalue. Otherwise this method will panic.Examples
use fmt; >); assert_eq!;fn value_with<F>(&mut self, value_fmt: F) -> &mut Self where F: FnOnce(&mut Formatter<'_>) -> Result,Adds the value part of a new entry to the map output.
This method is equivalent to
DebugMap::value, but formats the value using a provided closure rather than by callingDebug::fmt.fn entries<K, V, I>(&mut self, entries: I) -> &mut Self where K: Debug, V: Debug, I: IntoIterator<Item = (K, V)>,Adds the contents of an iterator of entries to the map output.
Examples
use fmt; >); assert_eq!;fn finish_non_exhaustive(&mut self) -> ResultMarks the map as non-exhaustive, indicating to the reader that there are some other entries that are not shown in the debug representation.
Examples
use fmt; >); assert_eq!;fn finish(&mut self) -> ResultFinishes output and returns any error encountered.
Panics
keymust be called beforevalueand each call tokeymust be followed by a corresponding call tovalue. Otherwise this method will panic.Examples
use fmt; >); assert_eq!;fn is_pretty(&self) -> bool
Auto Trait Implementations
impl<'a, 'b> !RefUnwindSafe for DebugMap<'a, 'b>
impl<'a, 'b> !Send for DebugMap<'a, 'b>
impl<'a, 'b> !Sync for DebugMap<'a, 'b>
impl<'a, 'b> !UnwindSafe for DebugMap<'a, 'b>
impl<'a, 'b> Freeze for DebugMap<'a, 'b>
impl<'a, 'b> Unpin for DebugMap<'a, 'b>
impl<'a, 'b> UnsafeUnpin for DebugMap<'a, 'b>
Blanket Implementations
impl<T> Any for DebugMap<'a, 'b>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for DebugMap<'a, 'b>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for DebugMap<'a, 'b>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for DebugMap<'a, 'b>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> SizeHint for DebugMap<'a, 'b>
where
T: ?Sized,
fn lower_bound(&self) -> usizefn upper_bound(&self) -> Option<usize>
impl<T> SizedTypeProperties for DebugMap<'a, 'b>
impl<T, U> Into<U> for DebugMap<'a, 'b>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for DebugMap<'a, 'b>
where
U: Into<T>,
type Error = Infallible;fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for DebugMap<'a, 'b>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>