Struct tract_pulse::internal::fmt::DebugList   
1.2.0 · source · pub struct DebugList<'a, 'b>where
    'b: 'a,{ /* private fields */ }Expand description
A struct to help with fmt::Debug implementations.
This is useful when you wish to output a formatted list of items as a part
of your Debug::fmt implementation.
This can be constructed by the Formatter::debug_list method.
Examples
use std::fmt;
struct Foo(Vec<i32>);
impl fmt::Debug for Foo {
    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
        fmt.debug_list().entries(self.0.iter()).finish()
    }
}
assert_eq!(
    format!("{:?}", Foo(vec![10, 11])),
    "[10, 11]",
);Implementations§
source§impl<'a, 'b> DebugList<'a, 'b>where
    'b: 'a,
 
impl<'a, 'b> DebugList<'a, 'b>where
    'b: 'a,
sourcepub fn entry(&mut self, entry: &dyn Debug) -> &mut DebugList<'a, 'b>
 
pub fn entry(&mut self, entry: &dyn Debug) -> &mut DebugList<'a, 'b>
Adds a new entry to the list output.
Examples
use std::fmt;
struct Foo(Vec<i32>, Vec<u32>);
impl fmt::Debug for Foo {
    fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
        fmt.debug_list()
           .entry(&self.0) // We add the first "entry".
           .entry(&self.1) // We add the second "entry".
           .finish()
    }
}
assert_eq!(
    format!("{:?}", Foo(vec![10, 11], vec![12, 13])),
    "[[10, 11], [12, 13]]",
);sourcepub fn entries<D, I>(&mut self, entries: I) -> &mut DebugList<'a, 'b>where
    D: Debug,
    I: IntoIterator<Item = D>,
 
pub fn entries<D, I>(&mut self, entries: I) -> &mut DebugList<'a, 'b>where
    D: Debug,
    I: IntoIterator<Item = D>,
Adds the contents of an iterator of entries to the list output.
Examples
use std::fmt;
struct Foo(Vec<i32>, Vec<u32>);
impl fmt::Debug for Foo {
    fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
        fmt.debug_list()
           .entries(self.0.iter())
           .entries(self.1.iter())
           .finish()
    }
}
assert_eq!(
    format!("{:?}", Foo(vec![10, 11], vec![12, 13])),
    "[10, 11, 12, 13]",
);sourcepub fn finish(&mut self) -> Result<(), Error>
 
pub fn finish(&mut self) -> Result<(), Error>
Finishes output and returns any error encountered.
Examples
use std::fmt;
struct Foo(Vec<i32>);
impl fmt::Debug for Foo {
    fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
        fmt.debug_list()
           .entries(self.0.iter())
           .finish() // Ends the struct formatting.
    }
}
assert_eq!(
    format!("{:?}", Foo(vec![10, 11])),
    "[10, 11]",
);Auto Trait Implementations§
impl<'a, 'b> !RefUnwindSafe for DebugList<'a, 'b>
impl<'a, 'b> !Send for DebugList<'a, 'b>
impl<'a, 'b> !Sync for DebugList<'a, 'b>
impl<'a, 'b> Unpin for DebugList<'a, 'b>where
    'b: 'a,
impl<'a, 'b> !UnwindSafe for DebugList<'a, 'b>
Blanket Implementations§
source§impl<T> Downcast for Twhere
    T: Any,
 
impl<T> Downcast for Twhere
    T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
 
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert 
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
 
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert 
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.source§fn as_any(&self) -> &(dyn Any + 'static)
 
fn as_any(&self) -> &(dyn Any + 'static)
Convert 
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
 
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert 
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.