pub struct DebugSet<'a, 'b: 'a> { /* private fields */ }
Expand description

A struct to help with Debug implementations.

This is useful when you wish to output a formatted set of items as a part of your Debug::fmt implementation.

This can be constructed by the Formatter::debug_set method.

Examples

use debug2::{pprint, Debug, Formatter};
use std::fmt;

struct Foo(Vec<i32>);

impl Debug for Foo {
    fn fmt(&self, fmt: &mut Formatter) -> fmt::Result {
        fmt.debug_set().entries(self.0.iter()).finish()
    }
}

assert_eq!(pprint(Foo(vec![10, 11])), "{10, 11}",);

Implementations

Adds a new entry to the set output.

Examples
use debug2::{pprint, Debug, Formatter};
use std::fmt;

struct Foo(Vec<i32>, Vec<u32>);

impl Debug for Foo {
    fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
        fmt.debug_set()
            .entry(&self.0) // Adds the first "entry".
            .entry(&self.1) // Adds the second "entry".
            .finish()
    }
}

assert_eq!(
    pprint(Foo(vec![10, 11], vec![12, 13])),
    "{[10, 11], [12, 13]}",
);

Adds the contents of an iterator of entries to the set output.

Examples
use debug2::{pprint, Debug, Formatter};
use std::fmt;

struct Foo(Vec<i32>, Vec<u32>);

impl Debug for Foo {
    fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
        fmt.debug_set()
            .entries(self.0.iter()) // Adds the first "entry".
            .entries(self.1.iter()) // Adds the second "entry".
            .finish()
    }
}

assert_eq!(pprint(Foo(vec![10, 11], vec![12, 13])), "{10, 11, 12, 13}",);

Finishes output and returns any error encountered.

Examples
use debug2::{pprint, Debug, Formatter};
use std::fmt;

struct Foo(Vec<i32>);

impl Debug for Foo {
    fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
        fmt.debug_set().entries(self.0.iter()).finish() // Ends the struct formatting.
    }
}

assert_eq!(pprint(Foo(vec![10, 11])), "{10, 11}",);

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.