# Trait alloc::fmt::Debug

1.0.0 · source ·

    pub trait Debug {
        // Required method
        fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
    }

Expand description

`?` formatting.

`Debug` should format the output in a programmer-facing, debugging context.

Generally speaking, you should just `derive` a `Debug` implementation.

When used with the alternate format specifier `#?`, the output is pretty-printed.

For more information on formatters, see the module-level documentation.

This trait can be used with `#[derive]` if all fields implement `Debug`. When `derive`d for structs, it will use the name of the `struct`, then `{`, then a comma-separated list of each field’s name and `Debug` value, then `}`. For `enum`s, it will use the name of the variant and, if applicable, `(`, then the `Debug` values of the fields, then `)`.

## Stability

Derived `Debug` formats are not stable, and so may change with future Rust versions. Additionally, `Debug` implementations of types provided by the standard library (`std`, `core`, `alloc`, etc.) are not stable, and may also change with future Rust versions.

## Examples

Deriving an implementation:

    #[derive(Debug)]
    struct Point {
        x: i32,
        y: i32,
    }

    let origin = Point { x: 0, y: 0 };

    assert_eq!(format!("The origin is: {origin:?}"), "The origin is: Point { x: 0, y: 0 }");

Run

Manually implementing:

    use std::fmt;

    struct Point {
        x: i32,
        y: i32,
    }

    impl fmt::Debug for Point {
        fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
            f.debug_struct("Point")
             .field("x", &self.x)
             .field("y", &self.y)
             .finish()
        }
    }

    let origin = Point { x: 0, y: 0 };

    assert_eq!(format!("The origin is: {origin:?}"), "The origin is: Point { x: 0, y: 0 }");

Run

There are a number of helper methods on the `Formatter` struct to help you with manual implementations, such as `debug_struct`.

Types that do not wish to use the standard suite of debug representations provided by the `Formatter` trait (`debug_struct`, `debug_tuple`, `debug_list`, `debug_set`, `debug_map`) can do something totally custom by manually writing an arbitrary representation to the `Formatter`.

    impl fmt::Debug for Point {
        fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
            write!(f, "Point [{} {}]", self.x, self.y)
        }
    }

Run

`Debug` implementations using either `derive` or the debug builder API on `Formatter` support pretty-printing using the alternate flag: `{:#?}`.

Pretty-printing with `#?`:

    #[derive(Debug)]
    struct Point {
        x: i32,
        y: i32,
    }

    let origin = Point { x: 0, y: 0 };

    assert_eq!(format!("The origin is: {origin:#?}"),
    "The origin is: Point {
        x: 0,
        y: 0,
    }");

Run

## Required Methods§

source

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter.

##### Examples

    use std::fmt;

    struct Position {
        longitude: f32,
        latitude: f32,
    }

    impl fmt::Debug for Position {
        fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
            f.debug_tuple("")
             .field(&self.longitude)
             .field(&self.latitude)
             .finish()
        }
    }

    let position = Position { longitude: 1.987, latitude: 2.983 };
    assert_eq!(format!("{position:?}"), "(1.987, 2.983)");

    assert_eq!(format!("{position:#?}"), "(
        1.987,
        2.983,
    )");

Run

## Implementors§

source§

### impl Debug for core::cmp::Ordering

1.34.0 · source§

### impl Debug for Infallible

source§

### impl Debug for Which

1.16.0 · source§

### impl Debug for c_void

1.7.0 · source§

### impl Debug for IpAddr

source§

### impl Debug for Ipv6MulticastScope

source§

### impl Debug for SocketAddr

source§

### impl Debug for FpCategory

1.55.0 · source§

### impl Debug for IntErrorKind

source§

### impl Debug for core::sync::atomic::Ordering

source§

### impl Debug for TryReserveErrorKind

source§

### impl Debug for SearchStep

1.28.0 · source§

### impl Debug for alloc::fmt::Alignment

source§

### impl Debug for bool

source§

### impl Debug for char

source§

### impl Debug for f32

source§

### impl Debug for f64

source§

### impl Debug for i8

source§

### impl Debug for i16

source§

### impl Debug for i32

source§

### impl Debug for i64

source§

### impl Debug for i128

source§

### impl Debug for isize

source§

### impl Debug for !

source§

### impl Debug for str

source§

### impl Debug for u8

source§

### impl Debug for u16

source§

### impl Debug for u32

source§

### impl Debug for u64

source§

### impl Debug for u128

source§

### impl Debug for ()

source§

### impl Debug for usize

source§

### impl Debug for TypeId

1.34.0 · source§

### impl Debug for TryFromSliceError

1.16.0 · source§

### impl Debug for core::ascii::EscapeDefault

1.13.0 · source§

### impl Debug for BorrowError

1.13.0 · source§

### impl Debug for BorrowMutError

1.34.0 · source§

### impl Debug for CharTryFromError

1.20.0 · source§

### impl Debug for ParseCharError

1.9.0 · source§

### impl Debug for DecodeUtf16Error

1.20.0 · source§

### impl Debug for core::char::EscapeDebug

source§

### impl Debug for core::char::EscapeDefault

source§

### impl Debug for core::char::EscapeUnicode

source§

### impl Debug for ToLowercase

source§

### impl Debug for ToUppercase

1.59.0 · source§

### impl Debug for TryFromCharError

1.27.0 · source§

### impl Debug for CpuidResult

1.27.0 · source§

### impl Debug for __m128

source§

### impl Debug for __m128bh

1.27.0 · source§

### impl Debug for __m128d

1.27.0 · source§

### impl Debug for __m128i

1.27.0 · source§

### impl Debug for __m256

source§

### impl Debug for __m256bh

1.27.0 · source§

### impl Debug for __m256d

1.27.0 · source§

### impl Debug for __m256i

source§

### impl Debug for __m512

source§

### impl Debug for __m512bh

source§

### impl Debug for __m512d

source§

### impl Debug for __m512i

1.3.0 · source§

### impl Debug for CStr

1.69.0 · source§

### impl Debug for FromBytesUntilNulError

1.64.0 · source§

### impl Debug for FromBytesWithNulError

source§

### impl Debug for SipHasher

1.33.0 · source§

### impl Debug for PhantomPinned

source§

### impl Debug for Assume

source§

### impl Debug for Ipv4Addr

source§

### impl Debug for Ipv6Addr

source§

### impl Debug for AddrParseError

source§

### impl Debug for SocketAddrV4

source§

### impl Debug for SocketAddrV6

source§

### impl Debug for ParseFloatError

source§

### impl Debug for ParseIntError

1.34.0 · source§

### impl Debug for TryFromIntError

1.34.0 · source§

### impl Debug for NonZeroI8

1.34.0 · source§

### impl Debug for NonZeroI16

1.34.0 · source§

### impl Debug for NonZeroI32

1.34.0 · source§

### impl Debug for NonZeroI64

1.34.0 · source§

### impl Debug for NonZeroI128

1.34.0 · source§

### impl Debug for NonZeroIsize

1.28.0 · source§

### impl Debug for NonZeroU8

1.28.0 · source§

### impl Debug for NonZeroU16

1.28.0 · source§

### impl Debug for NonZeroU32

1.28.0 · source§

### impl Debug for NonZeroU64

1.28.0 · source§

### impl Debug for NonZeroU128

1.28.0 · source§

### impl Debug for NonZeroUsize

source§

### impl Debug for RangeFull

source§

### impl Debug for core::ptr::alignment::Alignment

source§

### impl Debug for TimSortRun

1.3.0 · source§

### impl Debug for AtomicBool

1.34.0 · source§

### impl Debug for AtomicI8

1.34.0 · source§

### impl Debug for AtomicI16

1.34.0 · source§

### impl Debug for AtomicI32

1.34.0 · source§

### impl Debug for AtomicI64

1.3.0 · source§

### impl Debug for AtomicIsize

1.34.0 · source§

### impl Debug for AtomicU8

1.34.0 · source§

### impl Debug for AtomicU16

1.34.0 · source§

### impl Debug for AtomicU32

1.34.0 · source§

### impl Debug for AtomicU64

1.3.0 · source§

### impl Debug for AtomicUsize

1.36.0 · source§

### impl Debug for Context<'_>

1.36.0 · source§

### impl Debug for RawWaker

1.36.0 · source§

### impl Debug for RawWakerVTable

1.36.0 · source§

### impl Debug for Waker

1.27.0 · source§

### impl Debug for Duration

1.66.0 · source§

### impl Debug for TryFromFloatSecsError

source§

### impl Debug for AllocError

source§

### impl Debug for Global

1.28.0 · source§

### impl Debug for Layout

1.50.0 · source§

### impl Debug for LayoutError

1.57.0 · source§

### impl Debug for TryReserveError

source§

### impl Debug for CString

1.64.0 · source§

### impl Debug for FromVecWithNulError

1.64.0 · source§

### impl Debug for IntoStringError

1.64.0 · source§

### impl Debug for NulError

1.38.0 · source§

### impl Debug for Chars<'_>

1.17.0 · source§

### impl Debug for EncodeUtf16<'_>

source§

### impl Debug for ParseBoolError

source§

### impl Debug for Utf8Chunks<'_>

source§

### impl Debug for Utf8Error

1.17.0 · source§

### impl Debug for alloc::string::Drain<'_>

source§

### impl Debug for FromUtf8Error

source§

### impl Debug for FromUtf16Error

source§

### impl Debug for String

source§

### impl Debug for Arguments<'_>

source§

### impl Debug for Error

source§

### impl Debug for dyn Any + 'static

source§

### impl Debug for dyn Any + Send + 'static

1.28.0 · source§

### impl Debug for dyn Any + Sync + Send + 'static

source§

### impl<'a> Debug for Demand<'a>

source§

### impl<'a> Debug for Source<'a>

1.10.0 · source§

### impl<'a> Debug for Location<'a>

1.10.0 · source§

### impl<'a> Debug for PanicInfo<'a>

1.60.0 · source§

### impl<'a> Debug for EscapeAscii<'a>

source§

### impl<'a> Debug for CharSearcher<'a>

source§

### impl<'a> Debug for Bytes<'a>

source§

### impl<'a> Debug for CharIndices<'a>

1.34.0 · source§

### impl<'a> Debug for alloc::str::EscapeDebug<'a>

1.34.0 · source§

### impl<'a> Debug for alloc::str::EscapeDefault<'a>

1.34.0 · source§

### impl<'a> Debug for alloc::str::EscapeUnicode<'a>

source§

### impl<'a> Debug for Lines<'a>

source§

### impl<'a> Debug for LinesAny<'a>

1.34.0 · source§

### impl<'a> Debug for SplitAsciiWhitespace<'a>

1.1.0 · source§

### impl<'a> Debug for SplitWhitespace<'a>

source§

### impl<'a> Debug for Utf8Chunk<'a>

source§

### impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>

source§

### impl<'a, 'b> Debug for StrSearcher<'a, 'b>

source§

### impl<'a, 'b, const N: usize> Debug for CharArrayRefSearcher<'a, 'b, N>

source§

### impl<'a, 'f> Debug for VaList<'a, 'f>where 'f: 'a,

source§

### impl<'a, A> Debug for core::option::Iter<'a, A>where A: Debug + 'a,

source§

### impl<'a, A> Debug for core::option::IterMut<'a, A>where A: Debug + 'a,

source§

### impl<'a, I> Debug for ByRefSized<'a, I>where I: Debug,

1.21.0 · source§

### impl<'a, I: Debug + Iterator + 'a, A: Debug + Allocator + 'a> Debug for Splice<'a, I, A>where I::Item: Debug,

1.5.0 · source§

### impl<'a, P> Debug for MatchIndices<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,

1.2.0 · source§

### impl<'a, P> Debug for Matches<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,

1.5.0 · source§

### impl<'a, P> Debug for RMatchIndices<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,

1.2.0 · source§

### impl<'a, P> Debug for RMatches<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,

source§

### impl<'a, P> Debug for alloc::str::RSplit<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,

source§

### impl<'a, P> Debug for alloc::str::RSplitN<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,

source§

### impl<'a, P> Debug for RSplitTerminator<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,

source§

### impl<'a, P> Debug for alloc::str::Split<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,

1.51.0 · source§

### impl<'a, P> Debug for alloc::str::SplitInclusive<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,

source§

### impl<'a, P> Debug for alloc::str::SplitN<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,

source§

### impl<'a, P> Debug for SplitTerminator<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Debug,

source§

### impl<'a, T> Debug for core::result::Iter<'a, T>where T: Debug + 'a,

source§

### impl<'a, T> Debug for core::result::IterMut<'a, T>where T: Debug + 'a,

source§

### impl<'a, T> Debug for Chunks<'a, T>where T: Debug + 'a,

1.31.0 · source§

### impl<'a, T> Debug for ChunksExact<'a, T>where T: Debug + 'a,

1.31.0 · source§

### impl<'a, T> Debug for ChunksExactMut<'a, T>where T: Debug + 'a,

source§

### impl<'a, T> Debug for ChunksMut<'a, T>where T: Debug + 'a,

1.31.0 · source§

### impl<'a, T> Debug for RChunks<'a, T>where T: Debug + 'a,

1.31.0 · source§

### impl<'a, T> Debug for RChunksExact<'a, T>where T: Debug + 'a,

1.31.0 · source§

### impl<'a, T> Debug for RChunksExactMut<'a, T>where T: Debug + 'a,

1.31.0 · source§

### impl<'a, T> Debug for RChunksMut<'a, T>where T: Debug + 'a,

source§

### impl<'a, T> Debug for Windows<'a, T>where T: Debug + 'a,

source§

### impl<'a, T, P> Debug for GroupBy<'a, T, P>where T: 'a + Debug,

source§

### impl<'a, T, P> Debug for GroupByMut<'a, T, P>where T: 'a + Debug,

source§

### impl<'a, T, const N: usize> Debug for alloc::slice::ArrayChunks<'a, T, N>where T: Debug + 'a,

source§

### impl<'a, T, const N: usize> Debug for ArrayChunksMut<'a, T, N>where T: Debug + 'a,

source§

### impl<'a, T, const N: usize> Debug for ArrayWindows<'a, T, N>where T: Debug + 'a,

1.6.0 · source§

### impl<'a, T: Debug + 'a> Debug for alloc::collections::binary_heap::Drain<'a, T>

1.17.0 · source§

### impl<'a, T: Debug + 'a> Debug for alloc::collections::btree_set::Range<'a, T>

source§

### impl<'a, T: Debug + Ord> Debug for DrainSorted<'a, T>

source§

### impl<'a, T: Debug, F, A: Debug + Allocator> Debug for alloc::vec::DrainFilter<'a, T, F, A>where F: FnMut(&mut T) -> bool + Debug,

source§

### impl<'a, const N: usize> Debug for CharArraySearcher<'a, N>

source§

### impl<'f> Debug for VaListImpl<'f>

source§

### impl<A> Debug for Repeat<A>where A: Debug,

source§

### impl<A> Debug for core::option::IntoIter<A>where A: Debug,

source§

### impl<A, B> Debug for Chain<A, B>where A: Debug, B: Debug,

source§

### impl<A, B> Debug for Zip<A, B>where A: Debug, B: Debug,

source§

### impl<B> Debug for Cow<'_, B>where B: Debug + ToOwned<Owned: Debug> + ?Sized,

1.55.0 · source§

### impl<B, C> Debug for ControlFlow<B, C>where B: Debug, C: Debug,

source§

### impl<Dyn> Debug for DynMetadata<Dyn>where Dyn: ?Sized,

1.64.0 · source§

### impl<F> Debug for PollFn<F>

1.34.0 · source§

### impl<F> Debug for FromFn<F>

1.68.0 · source§

### impl<F> Debug for OnceWith<F>

1.68.0 · source§

### impl<F> Debug for RepeatWith<F>

source§

### impl<F> Debug for CharPredicateSearcher<'_, F>where F: FnMut(char) -> bool,

1.9.0 · source§

### impl<H> Debug for BuildHasherDefault<H>

source§

### impl<I> Debug for FromIter<I>where I: Debug,

1.9.0 · source§

### impl<I> Debug for DecodeUtf16<I>where I: Debug + Iterator<Item = u16>,

1.1.0 · source§

### impl<I> Debug for Cloned<I>where I: Debug,

1.36.0 · source§

### impl<I> Debug for Copied<I>where I: Debug,

source§

### impl<I> Debug for Cycle<I>where I: Debug,

source§

### impl<I> Debug for Enumerate<I>where I: Debug,

source§

### impl<I> Debug for Fuse<I>where I: Debug,

source§

### impl<I> Debug for Intersperse<I>where I: Debug + Iterator, <I as Iterator>::Item: Clone + Debug,

source§

### impl<I> Debug for Peekable<I>where I: Debug + Iterator, <I as Iterator>::Item: Debug,

source§

### impl<I> Debug for Skip<I>where I: Debug,

1.28.0 · source§

### impl<I> Debug for StepBy<I>where I: Debug,

source§

### impl<I> Debug for Take<I>where I: Debug,

1.9.0 · source§

### impl<I, F> Debug for FilterMap<I, F>where I: Debug,

1.9.0 · source§

### impl<I, F> Debug for Inspect<I, F>where I: Debug,

1.9.0 · source§

### impl<I, F> Debug for Map<I, F>where I: Debug,

source§

### impl<I, G> Debug for IntersperseWith<I, G>where I: Iterator + Debug, <I as Iterator>::Item: Debug, G: Debug,

1.9.0 · source§

### impl<I, P> Debug for Filter<I, P>where I: Debug,

1.57.0 · source§

### impl<I, P> Debug for MapWhile<I, P>where I: Debug,

1.9.0 · source§

### impl<I, P> Debug for SkipWhile<I, P>where I: Debug,

1.9.0 · source§

### impl<I, P> Debug for TakeWhile<I, P>where I: Debug,

1.9.0 · source§

### impl<I, St, F> Debug for Scan<I, St, F>where I: Debug, St: Debug,

1.29.0 · source§

### impl<I, U> Debug for Flatten<I>where I: Debug + Iterator, <I as Iterator>::Item: IntoIterator<IntoIter = U, Item = <U as Iterator>::Item>, U: Debug + Iterator,

1.9.0 · source§

### impl<I, U, F> Debug for FlatMap<I, U, F>where I: Debug, U: IntoIterator, <U as IntoIterator>::IntoIter: Debug,

source§

### impl<I, const N: usize> Debug for core::iter::adapters::array_chunks::ArrayChunks<I, N>where I: Debug + Iterator, <I as Iterator>::Item: Debug,

source§

### impl<Idx> Debug for core::ops::range::Range<Idx>where Idx: Debug,

source§

### impl<Idx> Debug for RangeFrom<Idx>where Idx: Debug,

1.26.0 · source§

### impl<Idx> Debug for RangeInclusive<Idx>where Idx: Debug,

source§

### impl<Idx> Debug for RangeTo<Idx>where Idx: Debug,

1.26.0 · source§

### impl<Idx> Debug for RangeToInclusive<Idx>where Idx: Debug,

source§

### impl<K, V, F> Debug for alloc::collections::btree_map::DrainFilter<'_, K, V, F>where K: Debug, V: Debug, F: FnMut(&K, &mut V) -> bool,

1.17.0 · source§

### impl<K, V: Debug> Debug for Values<'_, K, V>

1.10.0 · source§

### impl<K, V: Debug> Debug for ValuesMut<'_, K, V>

1.54.0 · source§

### impl<K, V: Debug, A: Allocator + Clone> Debug for IntoValues<K, V, A>

1.12.0 · source§

### impl<K: Debug + Ord, V, A: Allocator + Clone> Debug for VacantEntry<'_, K, V, A>

1.12.0 · source§

### impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for Entry<'_, K, V, A>

1.12.0 · source§

### impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedEntry<'_, K, V, A>

source§

### impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedError<'_, K, V, A>

1.17.0 · source§

### impl<K: Debug, V> Debug for Keys<'_, K, V>

1.54.0 · source§

### impl<K: Debug, V, A: Allocator + Clone> Debug for IntoKeys<K, V, A>

source§

### impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::Cursor<'_, K, V>

1.17.0 · source§

### impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::Iter<'_, K, V>

1.17.0 · source§

### impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::IterMut<'_, K, V>

1.17.0 · source§

### impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::Range<'_, K, V>

1.17.0 · source§

### impl<K: Debug, V: Debug> Debug for RangeMut<'_, K, V>

source§

### impl<K: Debug, V: Debug, A> Debug for alloc::collections::btree_map::CursorMut<'_, K, V, A>

source§

### impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for BTreeMap<K, V, A>

1.17.0 · source§

### impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for alloc::collections::btree_map::IntoIter<K, V, A>

1.33.0 · source§

### impl<P> Debug for Pin<P>where P: Debug,

1.4.0 · source§

### impl<Ret, T> Debug for fn (T₁, T₂, …, Tₙ) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.4.0 · source§

### impl<Ret, T> Debug for extern "C" fn (T₁, T₂, …, Tₙ) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.4.0 · source§

### impl<Ret, T> Debug for extern "C" fn (T₁, T₂, …, Tₙ, ...) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

source§

### impl<Ret, T> Debug for extern "C-unwind" fn (T₁, T₂, …, Tₙ) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

source§

### impl<Ret, T> Debug for extern "C-unwind" fn (T₁, T₂, …, Tₙ, ...) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.4.0 · source§

### impl<Ret, T> Debug for unsafe fn (T₁, T₂, …, Tₙ) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.4.0 · source§

### impl<Ret, T> Debug for unsafe extern "C" fn (T₁, T₂, …, Tₙ) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.4.0 · source§

### impl<Ret, T> Debug for unsafe extern "C" fn (T₁, T₂, …, Tₙ, ...) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

source§

### impl<Ret, T> Debug for unsafe extern "C-unwind" fn (T₁, T₂, …, Tₙ) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

source§

### impl<Ret, T> Debug for unsafe extern "C-unwind" fn (T₁, T₂, …, Tₙ, ...) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.17.0 · source§

### impl<T> Debug for Bound<T>where T: Debug,

source§

### impl<T> Debug for Option<T>where T: Debug,

1.36.0 · source§

### impl<T> Debug for Poll<T>where T: Debug,

source§

### impl<T> Debug for *const T where T: ?Sized,

source§

### impl<T> Debug for *mut T where T: ?Sized,

source§

### impl<T> Debug for &T where T: Debug + ?Sized,

source§

### impl<T> Debug for &mut T where T: Debug + ?Sized,

source§

### impl<T> Debug for [T]where T: Debug,

source§

### impl<T> Debug for (T₁, T₂, …, Tₙ)where T: Debug + ?Sized,

This trait is implemented for tuples up to twelve items long.

source§

### impl<T> Debug for OnceCell<T>where T: Debug,

source§

### impl<T> Debug for Cell<T>where T: Copy + Debug,

source§

### impl<T> Debug for Ref<'_, T>where T: Debug + ?Sized,

source§

### impl<T> Debug for RefCell<T>where T: Debug + ?Sized,

source§

### impl<T> Debug for RefMut<'_, T>where T: Debug + ?Sized,

source§

### impl<T> Debug for SyncUnsafeCell<T>where T: ?Sized,

1.9.0 · source§

### impl<T> Debug for UnsafeCell<T>where T: ?Sized,

1.19.0 · source§

### impl<T> Debug for Reverse<T>where T: Debug,

1.48.0 · source§

### impl<T> Debug for Pending<T>

1.48.0 · source§

### impl<T> Debug for core::future::ready::Ready<T>where T: Debug,

source§

### impl<T> Debug for Rev<T>where T: Debug,

1.9.0 · source§

### impl<T> Debug for Empty<T>

1.2.0 · source§

### impl<T> Debug for Once<T>where T: Debug,

source§

### impl<T> Debug for PhantomData<T>where T: ?Sized,

1.20.0 · source§

### impl<T> Debug for ManuallyDrop<T>where T: Debug + ?Sized,

1.21.0 · source§

### impl<T> Debug for Discriminant<T>

source§

### impl<T> Debug for Saturating<T>where T: Debug,

source§

### impl<T> Debug for Wrapping<T>where T: Debug,

source§

### impl<T> Debug for Yeet<T>where T: Debug,

1.16.0 · source§

### impl<T> Debug for AssertUnwindSafe<T>where T: Debug,

1.25.0 · source§

### impl<T> Debug for NonNull<T>where T: ?Sized,

source§

### impl<T> Debug for core::result::IntoIter<T>where T: Debug,

1.3.0 · source§

### impl<T> Debug for AtomicPtr<T>

source§

### impl<T> Debug for Exclusive<T>where T: ?Sized,

source§

### impl<T> Debug for core::task::ready::Ready<T>

1.9.0 · source§

### impl<T> Debug for alloc::slice::Iter<'_, T>where T: Debug,

1.9.0 · source§

### impl<T> Debug for alloc::slice::IterMut<'_, T>where T: Debug,

1.41.0 · source§

### impl<T> Debug for MaybeUninit<T>

source§

### impl<T, E> Debug for Result<T, E>where T: Debug, E: Debug,

source§

### impl<T, F> Debug for LazyCell<T, F>where T: Debug,

1.34.0 · source§

### impl<T, F> Debug for Successors<T, F>where T: Debug,

source§

### impl<T, F, A: Allocator + Clone> Debug for alloc::collections::btree_set::DrainFilter<'_, T, F, A>where T: Debug, F: FnMut(&T) -> bool,

1.27.0 · source§

### impl<T, P> Debug for alloc::slice::RSplit<'_, T, P>where T: Debug, P: FnMut(&T) -> bool,

1.27.0 · source§

### impl<T, P> Debug for RSplitMut<'_, T, P>where T: Debug, P: FnMut(&T) -> bool,

1.9.0 · source§

### impl<T, P> Debug for alloc::slice::RSplitN<'_, T, P>where T: Debug, P: FnMut(&T) -> bool,

1.9.0 · source§

### impl<T, P> Debug for RSplitNMut<'_, T, P>where T: Debug, P: FnMut(&T) -> bool,

1.9.0 · source§

### impl<T, P> Debug for alloc::slice::Split<'_, T, P>where T: Debug, P: FnMut(&T) -> bool,

1.51.0 · source§

### impl<T, P> Debug for alloc::slice::SplitInclusive<'_, T, P>where T: Debug, P: FnMut(&T) -> bool,

1.51.0 · source§

### impl<T, P> Debug for SplitInclusiveMut<'_, T, P>where T: Debug, P: FnMut(&T) -> bool,

1.9.0 · source§

### impl<T, P> Debug for SplitMut<'_, T, P>where T: Debug, P: FnMut(&T) -> bool,

1.9.0 · source§

### impl<T, P> Debug for alloc::slice::SplitN<'_, T, P>where T: Debug, P: FnMut(&T) -> bool,

1.9.0 · source§

### impl<T, P> Debug for SplitNMut<'_, T, P>where T: Debug, P: FnMut(&T) -> bool,

source§

### impl<T, const LANES: usize> Debug for Mask<T, LANES>where T: MaskElement + Debug, LaneCount<LANES>: SupportedLaneCount,

source§

### impl<T, const LANES: usize> Debug for Simd<T, LANES>where LaneCount<LANES>: SupportedLaneCount, T: SimdElement + Debug,

source§

### impl<T, const N: usize> Debug for [T; N]where T: Debug,

1.40.0 · source§

### impl<T, const N: usize> Debug for core::array::iter::IntoIter<T, N>where T: Debug,

1.17.0 · source§

### impl<T: Ord + Debug> Debug for PeekMut<'_, T>

source§

### impl<T: Debug + ?Sized, A: Allocator> Debug for Box<T, A>

1.4.0 · source§

### impl<T: Debug> Debug for BinaryHeap<T>

1.17.0 · source§

### impl<T: Debug> Debug for alloc::collections::binary_heap::IntoIter<T>

source§

### impl<T: Debug> Debug for IntoIterSorted<T>

1.17.0 · source§

### impl<T: Debug> Debug for alloc::collections::binary_heap::Iter<'_, T>

1.17.0 · source§

### impl<T: Debug> Debug for alloc::collections::btree_set::Iter<'_, T>

1.17.0 · source§

### impl<T: Debug> Debug for SymmetricDifference<'_, T>

1.17.0 · source§

### impl<T: Debug> Debug for Union<'_, T>

source§

### impl<T: Debug> Debug for alloc::collections::linked_list::Cursor<'_, T>

source§

### impl<T: Debug> Debug for alloc::collections::linked_list::CursorMut<'_, T>

1.17.0 · source§

### impl<T: Debug> Debug for alloc::collections::linked_list::IntoIter<T>

1.17.0 · source§

### impl<T: Debug> Debug for alloc::collections::linked_list::Iter<'_, T>

1.17.0 · source§

### impl<T: Debug> Debug for alloc::collections::linked_list::IterMut<'_, T>

source§

### impl<T: Debug> Debug for LinkedList<T>

1.17.0 · source§

### impl<T: Debug> Debug for alloc::collections::vec_deque::Iter<'_, T>

1.17.0 · source§

### impl<T: Debug> Debug for alloc::collections::vec_deque::IterMut<'_, T>

source§

### impl<T: Debug, A: Allocator + Clone> Debug for BTreeSet<T, A>

1.17.0 · source§

### impl<T: Debug, A: Allocator + Clone> Debug for Difference<'_, T, A>

1.17.0 · source§

### impl<T: Debug, A: Allocator + Clone> Debug for Intersection<'_, T, A>

1.17.0 · source§

### impl<T: Debug, A: Allocator> Debug for alloc::collections::vec_deque::Drain<'_, T, A>

1.17.0 · source§

### impl<T: Debug, A: Allocator> Debug for alloc::collections::vec_deque::IntoIter<T, A>

source§

### impl<T: Debug, A: Allocator> Debug for VecDeque<T, A>

1.17.0 · source§

### impl<T: Debug, A: Allocator> Debug for alloc::vec::Drain<'_, T, A>

1.13.0 · source§

### impl<T: Debug, A: Allocator> Debug for alloc::vec::IntoIter<T, A>

source§

### impl<T: Debug, A: Allocator> Debug for Vec<T, A>

source§

### impl<T: Debug, A: Debug + Allocator + Clone> Debug for alloc::collections::btree_set::IntoIter<T, A>

source§

### impl<T: Debug, F> Debug for alloc::collections::linked_list::DrainFilter<'_, T, F>where F: FnMut(&mut T) -> bool,

source§

### impl<T: ?Sized + Debug> Debug for ThinBox<T>

source§

### impl<T: ?Sized + Debug> Debug for Rc<T>

source§

### impl<T: ?Sized + Debug> Debug for Arc<T>

1.4.0 · source§

### impl<T: ?Sized> Debug for alloc::rc::Weak<T>

1.4.0 · source§

### impl<T: ?Sized> Debug for alloc::sync::Weak<T>

source§

### impl<Y, R> Debug for GeneratorState<Y, R>where Y: Debug, R: Debug,

source§

### impl<const N: usize> Debug for GetManyMutError<N>