Debug in alloc::fmt - Rust
Description: `?` formatting.

## Debug

# Trait Debug

1.36.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 }",
    );

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 }",
    );

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)
        }
    }

`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 };

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

## Required Methods§

1.0.0 · Source

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

Formats the value using the given formatter.

##### §Errors

This function should return `Err` if, and only if, the provided `Formatter` returns `Err`. String formatting is considered an infallible operation; this function only returns a `Result` because writing to the underlying stream might fail and it must provide a way to propagate the fact that an error has occurred back up the stack.

##### §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,
    )");

## Implementors§

Source§

### impl Debug for AsciiChar

1.0.0 · Source§

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

1.34.0 · Source§

### impl Debug for Infallible

1.64.0 · Source§

### impl Debug for FromBytesWithNulError

1.16.0 · Source§

### impl Debug for c_void

Source§

### impl Debug for Locality

Source§

### impl Debug for AtomicOrdering

Source§

### impl Debug for SimdAlign

Source§

### impl Debug for TypeKind

1.7.0 · Source§

### impl Debug for IpAddr

Source§

### impl Debug for Ipv6MulticastScope

1.0.0 · Source§

### impl Debug for SocketAddr

1.0.0 · Source§

### impl Debug for FpCategory

1.55.0 · Source§

### impl Debug for IntErrorKind

1.0.0 · Source§

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

Source§

### impl Debug for TryReserveErrorKind

1.86.0 · Source§

### impl Debug for GetDisjointMutError

Source§

### impl Debug for SearchStep

1.28.0 · Source§

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

Source§

### impl Debug for DebugAsHex

Source§

### impl Debug for Sign

1.0.0 · Source§

### impl Debug for bool

1.0.0 · Source§

### impl Debug for char

1.0.0 · Source§

### impl Debug for f16

Available on non-`target_has_reliable_f16` only.
1.0.0 · Source§

### impl Debug for f32

1.0.0 · Source§

### impl Debug for f64

1.0.0 · Source§

### impl Debug for f128

1.0.0 · Source§

### impl Debug for i8

1.0.0 · Source§

### impl Debug for i16

1.0.0 · Source§

### impl Debug for i32

1.0.0 · Source§

### impl Debug for i64

1.0.0 · Source§

### impl Debug for i128

1.0.0 · Source§

### impl Debug for isize

Source§

### impl Debug for !

1.0.0 · Source§

### impl Debug for str

1.0.0 · Source§

### impl Debug for u8

1.0.0 · Source§

### impl Debug for u16

1.0.0 · Source§

### impl Debug for u32

1.0.0 · Source§

### impl Debug for u64

1.0.0 · Source§

### impl Debug for u128

1.0.0 · Source§

### impl Debug for ()

1.0.0 · Source§

### impl Debug for usize

1.0.0 · 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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

### impl Debug for ToLowercase

1.0.0 · Source§

### impl Debug for ToUppercase

1.59.0 · Source§

### impl Debug for TryFromCharError

1.54.0 · Source§

### impl Debug for v128

1.3.0 · Source§

### impl Debug for CStr

Shows the underlying bytes as a normal string, with invalid UTF-8 presented as hex escape sequences.

1.69.0 · Source§

### impl Debug for FromBytesUntilNulError

Source§

### impl Debug for VaList<'_>

1.0.0 · Source§

### impl Debug for SipHasher

Source§

### impl Debug for Last

Source§

### impl Debug for BorrowedBuf<'_>

1.33.0 · Source§

### impl Debug for PhantomPinned

Source§

### impl Debug for PhantomContravariantLifetime<'_>

Source§

### impl Debug for PhantomCovariantLifetime<'_>

Source§

### impl Debug for PhantomInvariantLifetime<'_>

Source§

### impl Debug for Assume

Source§

### impl Debug for Array

Source§

### impl Debug for Bool

Source§

### impl Debug for Char

Source§

### impl Debug for Field

Source§

### impl Debug for Float

Source§

### impl Debug for Int

Source§

### impl Debug for Reference

Source§

### impl Debug for Str

Source§

### impl Debug for Tuple

Source§

### impl Debug for Type

1.0.0 · Source§

### impl Debug for Ipv4Addr

1.0.0 · Source§

### impl Debug for Ipv6Addr

1.0.0 · Source§

### impl Debug for AddrParseError

1.0.0 · Source§

### impl Debug for SocketAddrV4

1.0.0 · Source§

### impl Debug for SocketAddrV6

1.0.0 · Source§

### impl Debug for ParseFloatError

1.0.0 · Source§

### impl Debug for ParseIntError

1.34.0 · Source§

### impl Debug for TryFromIntError

1.0.0 · Source§

### impl Debug for RangeFull

1.10.0 · Source§

### impl Debug for Location<'_>

1.81.0 · Source§

### impl Debug for PanicMessage<'_>

Source§

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

1.3.0 · Source§

### impl Debug for AtomicBool

Available on `target_has_atomic_load_store=8` only.
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<'_>

Source§

### impl Debug for LocalWaker

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

Source§

### impl Debug for ByteStr

Source§

### impl Debug for ByteString

Source§

### impl Debug for UnorderedKeyError

1.57.0 · Source§

### impl Debug for TryReserveError

1.0.0 · Source§

### impl Debug for CString

Delegates to the `CStr` implementation of `fmt::Debug`, showing invalid UTF-8 as hex escapes.

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<'_>

1.0.0 · Source§

### impl Debug for ParseBoolError

1.79.0 · Source§

### impl Debug for Utf8Chunks<'_>

1.0.0 · Source§

### impl Debug for Utf8Error

1.17.0 · Source§

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

1.0.0 · Source§

### impl Debug for FromUtf8Error

1.0.0 · Source§

### impl Debug for FromUtf16Error

Source§

### impl Debug for IntoChars

1.0.0 · Source§

### impl Debug for String

1.0.0 · Source§

### impl Debug for Arguments<'_>

1.0.0 · Source§

### impl Debug for Error

Source§

### impl Debug for FormattingOptions

1.0.0 · Source§

### impl Debug for dyn Any

1.0.0 · Source§

### impl Debug for dyn Any + Send

1.28.0 · Source§

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

Source§

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

Source§

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

Source§

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

Source§

### impl<'a> Debug for core::ffi::c_str::Bytes<'a>

Source§

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

1.10.0 · Source§

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

Source§

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

1.60.0 · Source§

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

Source§

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

1.0.0 · Source§

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

1.0.0 · 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>

1.0.0 · Source§

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

1.0.0 · 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>

1.79.0 · 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>

1.0.0 · Source§

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

1.0.0 · 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,

Source§

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

1.21.0 · Source§

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

1.5.0 · Source§

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

1.2.0 · Source§

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

1.5.0 · Source§

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

1.2.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.51.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · 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,

1.0.0 · 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,

1.0.0 · Source§

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

1.77.0 · Source§

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

1.77.0 · Source§

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

1.94.0 · Source§

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

1.17.0 · Source§

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

1.6.0 · Source§

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

Source§

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

Source§

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

1.0.0 · Source§

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

1.82.0 · Source§

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

1.0.0 · Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · 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 core::iter::sources::from_fn::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.93.0 · Source§

### impl<F> Debug for alloc::fmt::FromFn<F>
where F: Fn(&mut Formatter<'_>) -> Result<(), Error>,

1.4.0 · Source§

### impl<F> Debug for F
where F: FnPtr,

Source§

### impl<G> Debug for FromCoroutine<G>

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,

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · 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,

1.0.0 · Source§

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

1.0.0 · Source§

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

1.28.0 · Source§

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

1.0.0 · 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, F, const N: usize> Debug for MapWindows<I, F, N>
where I: Iterator + 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 ArrayChunks<I, N>
where I: Debug + Iterator, <I as Iterator>::Item: Debug,

Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.26.0 · Source§

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

1.0.0 · Source§

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

1.26.0 · Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

1.91.0 · Source§

### impl<K, V, R, F, A> Debug for alloc::collections::btree_map::ExtractIf<'_, K, V, R, F, A>
where K: Debug, V: Debug, A: Allocator + Clone,

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 alloc::collections::btree_map::VacantEntry<'_, K, V, A>

1.12.0 · Source§

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

1.12.0 · Source§

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

Source§

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

Source§

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

Source§

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

Source§

### impl<K: Debug, A> Debug for alloc::collections::btree_set::CursorMutKey<'_, K, 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> Debug for alloc::collections::btree_map::CursorMutKey<'_, K, V, A>

1.0.0 · 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>

Source§

### impl<P> Debug for MaybeDangling<P>
where P: Debug + ?Sized,

1.33.0 · Source§

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

1.17.0 · Source§

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

1.0.0 · Source§

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

1.36.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

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

1.70.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · 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,

Source§

### impl<T> Debug for NumBuffer<T>
where T: Debug + NumBufferTrait,

1.48.0 · Source§

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

1.48.0 · Source§

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

1.0.0 · 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,

1.0.0 · Source§

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

Source§

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

Source§

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

Source§

### impl<T> Debug for PhantomInvariant<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>

1.28.0 · Source§

### impl<T> Debug for NonZero<T>
where T: ZeroablePrimitive + Debug,

1.74.0 · Source§

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

1.0.0 · 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,

Source§

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

1.25.0 · Source§

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

1.0.0 · Source§

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

1.3.0 · Source§

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

Available on `target_has_atomic_load_store=ptr` only.
Source§

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

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>

1.0.0 · Source§

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

1.80.0 · 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> Debug for DropGuard<T, F>
where T: Debug, F: FnOnce(T),

1.87.0 · Source§

### impl<T, F, A> Debug for alloc::collections::linked_list::ExtractIf<'_, T, F, A>
where T: Debug, A: Allocator,

Source§

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

1.87.0 · Source§

### impl<T, F, A> Debug for alloc::vec::ExtractIf<'_, T, F, A>
where T: Debug, A: Allocator,

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,

1.91.0 · Source§

### impl<T, R, F, A> Debug for alloc::collections::btree_set::ExtractIf<'_, T, R, F, A>
where T: Debug, A: Allocator + Clone,

1.0.0 · 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,

Source§

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

Source§

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

1.17.0 · Source§

### impl<T: Ord + Debug, A: Allocator> Debug for alloc::collections::binary_heap::PeekMut<'_, T, A>

Source§

### impl<T: Debug + Ord, A: Allocator + Clone> Debug for alloc::collections::btree_set::Entry<'_, T, A>

Source§

### impl<T: Debug + Ord, A: Allocator + Clone> Debug for alloc::collections::btree_set::OccupiedEntry<'_, T, A>

Source§

### impl<T: Debug + Ord, A: Allocator + Clone> Debug for alloc::collections::btree_set::VacantEntry<'_, T, A>

1.0.0 · Source§

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

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>

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>

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>

1.0.0 · 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.4.0 · Source§

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

1.17.0 · Source§

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

Source§

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

Source§

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

1.17.0 · Source§

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

1.0.0 · Source§

### impl<T: Debug, A: Allocator> Debug for LinkedList<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>

1.0.0 · 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 alloc::vec::PeekMut<'_, T, A>

1.0.0 · Source§

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

1.0.0 · Source§

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

Source§

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

Source§

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

1.0.0 · Source§

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

Source§

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

1.0.0 · Source§

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

Source§

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

1.4.0 · Source§

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

1.4.0 · Source§

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

Source§

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