Skip to main content

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

Dyn Compatibilityยง

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementorsยง

Sourceยง

impl Debug for !

1.0.0 ยท Sourceยง

impl Debug for ()

Sourceยง

impl Debug for Abi

1.0.0 ยท Sourceยง

impl Debug for AddrParseError

Sourceยง

impl Debug for core::mem::alignment::Alignment

1.28.0 ยท Sourceยง

impl Debug for alloc::fmt::Alignment

Sourceยง

impl Debug for AllocError

1.0.0 ยท Sourceยง

impl Debug for Arguments<'_>

Sourceยง

impl Debug for Array

Sourceยง

impl Debug for AsciiChar

Sourceยง

impl Debug for Assume

1.3.0 ยท Sourceยง

impl Debug for Atomic<bool>

Available on target_has_atomic_load_store=8 only.
1.34.0 ยท Sourceยง

impl Debug for Atomic<i8>

1.34.0 ยท Sourceยง

impl Debug for Atomic<i16>

1.34.0 ยท Sourceยง

impl Debug for Atomic<i32>

1.34.0 ยท Sourceยง

impl Debug for Atomic<i64>

1.3.0 ยท Sourceยง

impl Debug for Atomic<isize>

1.34.0 ยท Sourceยง

impl Debug for Atomic<u8>

1.34.0 ยท Sourceยง

impl Debug for Atomic<u16>

1.34.0 ยท Sourceยง

impl Debug for Atomic<u32>

1.34.0 ยท Sourceยง

impl Debug for Atomic<u64>

1.3.0 ยท Sourceยง

impl Debug for Atomic<usize>

Sourceยง

impl Debug for AtomicOrdering

Sourceยง

impl Debug for Bool

1.13.0 ยท Sourceยง

impl Debug for BorrowError

1.13.0 ยท Sourceยง

impl Debug for BorrowMutError

Sourceยง

impl Debug for ByteStr

Sourceยง

impl Debug for ByteString

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.0.0 ยท Sourceยง

impl Debug for CString

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

Sourceยง

impl Debug for Char

Sourceยง

impl Debug for CharCase

1.34.0 ยท Sourceยง

impl Debug for CharTryFromError

1.38.0 ยท Sourceยง

impl Debug for Chars<'_>

Sourceยง

impl Debug for Const

1.36.0 ยท Sourceยง

impl Debug for Context<'_>

1.27.0 ยท Sourceยง

impl Debug for CpuidResult

Sourceยง

impl Debug for DebugAsHex

1.9.0 ยท Sourceยง

impl Debug for DecodeUtf16Error

1.17.0 ยท Sourceยง

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

1.27.0 ยท Sourceยง

impl Debug for Duration

Sourceยง

impl Debug for DynTrait

Sourceยง

impl Debug for DynTraitPredicate

1.0.0 ยท Sourceยง

impl Debug for alloc::io::Empty

1.17.0 ยท Sourceยง

impl Debug for EncodeUtf16<'_>

Sourceยง

impl Debug for Enum

1.0.0 ยท Sourceยง

impl Debug for alloc::io::Error

1.0.0 ยท Sourceยง

impl Debug for alloc::fmt::Error

1.0.0 ยท Sourceยง

impl Debug for ErrorKind

1.20.0 ยท Sourceยง

impl Debug for core::char::EscapeDebug

1.16.0 ยท Sourceยง

impl Debug for core::ascii::EscapeDefault

1.0.0 ยท Sourceยง

impl Debug for core::char::EscapeDefault

1.0.0 ยท Sourceยง

impl Debug for core::char::EscapeUnicode

Sourceยง

impl Debug for Field

Sourceยง

impl Debug for FieldId

Sourceยง

impl Debug for Float

Sourceยง

impl Debug for FnPtr

Sourceยง

impl Debug for FormattingOptions

1.0.0 ยท Sourceยง

impl Debug for FpCategory

1.69.0 ยท Sourceยง

impl Debug for FromBytesUntilNulError

1.64.0 ยท Sourceยง

impl Debug for FromBytesWithNulError

1.0.0 ยท Sourceยง

impl Debug for FromUtf8Error

1.0.0 ยท Sourceยง

impl Debug for FromUtf16Error

1.64.0 ยท Sourceยง

impl Debug for FromVecWithNulError

Sourceยง

impl Debug for Generic

Sourceยง

impl Debug for GenericType

1.86.0 ยท Sourceยง

impl Debug for GetDisjointMutError

Sourceยง

impl Debug for Global

1.34.0 ยท Sourceยง

impl Debug for Infallible

Sourceยง

impl Debug for Int

1.55.0 ยท Sourceยง

impl Debug for IntErrorKind

Sourceยง

impl Debug for IntoChars

1.64.0 ยท Sourceยง

impl Debug for IntoStringError

1.7.0 ยท Sourceยง

impl Debug for IpAddr

1.0.0 ยท Sourceยง

impl Debug for Ipv4Addr

1.0.0 ยท Sourceยง

impl Debug for Ipv6Addr

Sourceยง

impl Debug for Ipv6MulticastScope

Sourceยง

impl Debug for Last

1.28.0 ยท Sourceยง

impl Debug for Layout

1.50.0 ยท Sourceยง

impl Debug for LayoutError

Sourceยง

impl Debug for Lifetime

Sourceยง

impl Debug for LocalWaker

Sourceยง

impl Debug for Locality

1.10.0 ยท Sourceยง

impl Debug for Location<'_>

1.64.0 ยท Sourceยง

impl Debug for NulError

1.0.0 ยท Sourceยง

impl Debug for core::cmp::Ordering

1.0.0 ยท Sourceยง

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

1.81.0 ยท Sourceยง

impl Debug for PanicMessage<'_>

1.0.0 ยท Sourceยง

impl Debug for ParseBoolError

1.20.0 ยท Sourceยง

impl Debug for ParseCharError

1.0.0 ยท Sourceยง

impl Debug for ParseFloatError

1.0.0 ยท Sourceยง

impl Debug for ParseIntError

Sourceยง

impl Debug for PhantomContravariantLifetime<'_>

Sourceยง

impl Debug for PhantomCovariantLifetime<'_>

Sourceยง

impl Debug for PhantomInvariantLifetime<'_>

1.33.0 ยท Sourceยง

impl Debug for PhantomPinned

Sourceยง

impl Debug for Pointer

1.0.0 ยท Sourceยง

impl Debug for RangeFull

1.36.0 ยท Sourceยง

impl Debug for RawWaker

1.36.0 ยท Sourceยง

impl Debug for RawWakerVTable

Sourceยง

impl Debug for Reference

1.16.0 ยท Sourceยง

impl Debug for alloc::io::Repeat

Sourceยง

impl Debug for SearchStep

Sourceยง

impl Debug for Sign

Sourceยง

impl Debug for SimdAlign

1.0.0 ยท Sourceยง

impl Debug for Sink

1.0.0 ยท Sourceยง

impl Debug for SipHasher

Sourceยง

impl Debug for Slice

1.0.0 ยท Sourceยง

impl Debug for SocketAddr

1.0.0 ยท Sourceยง

impl Debug for SocketAddrV4

1.0.0 ยท Sourceยง

impl Debug for SocketAddrV6

Sourceยง

impl Debug for Str

1.0.0 ยท Sourceยง

impl Debug for String

Sourceยง

impl Debug for Struct

Sourceยง

impl Debug for ToCasefold

1.0.0 ยท Sourceยง

impl Debug for ToLowercase

Sourceยง

impl Debug for ToTitlecase

1.0.0 ยท Sourceยง

impl Debug for ToUppercase

Sourceยง

impl Debug for Trait

1.59.0 ยท Sourceยง

impl Debug for TryFromCharError

1.66.0 ยท Sourceยง

impl Debug for TryFromFloatSecsError

1.34.0 ยท Sourceยง

impl Debug for TryFromIntError

1.34.0 ยท Sourceยง

impl Debug for TryFromSliceError

1.57.0 ยท Sourceยง

impl Debug for TryReserveError

Sourceยง

impl Debug for TryReserveErrorKind

Sourceยง

impl Debug for Tuple

Sourceยง

impl Debug for Type

1.0.0 ยท Sourceยง

impl Debug for TypeId

Sourceยง

impl Debug for TypeKind

Sourceยง

impl Debug for core::mem::type_info::Union

Sourceยง

impl Debug for UnorderedKeyError

1.79.0 ยท Sourceยง

impl Debug for Utf8Chunks<'_>

1.0.0 ยท Sourceยง

impl Debug for Utf8Error

Sourceยง

impl Debug for VaList<'_>

Sourceยง

impl Debug for Variant

1.36.0 ยท Sourceยง

impl Debug for Waker

1.27.0 ยท Sourceยง

impl Debug for __m128

1.27.0 ยท Sourceยง

impl Debug for __m256

1.72.0 ยท Sourceยง

impl Debug for __m512

1.89.0 ยท Sourceยง

impl Debug for __m128bh

1.27.0 ยท Sourceยง

impl Debug for __m128d

1.94.0 ยท Sourceยง

impl Debug for __m128h

1.27.0 ยท Sourceยง

impl Debug for __m128i

1.89.0 ยท Sourceยง

impl Debug for __m256bh

1.27.0 ยท Sourceยง

impl Debug for __m256d

1.94.0 ยท Sourceยง

impl Debug for __m256h

1.27.0 ยท Sourceยง

impl Debug for __m256i

1.89.0 ยท Sourceยง

impl Debug for __m512bh

1.72.0 ยท Sourceยง

impl Debug for __m512d

1.94.0 ยท Sourceยง

impl Debug for __m512h

1.72.0 ยท Sourceยง

impl Debug for __m512i

Sourceยง

impl Debug for __tile1024i

Sourceยง

impl Debug for bf16

1.0.0 ยท Sourceยง

impl Debug for bool

1.16.0 ยท Sourceยง

impl Debug for c_void

1.0.0 ยท Sourceยง

impl Debug for char

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

1.0.0 ยท Sourceยง

impl Debug for f16

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

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 usize

Sourceยง

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

Sourceยง

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

Sourceยง

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

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 + 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,

Sourceยง

impl<'a, I> Debug for ByRefSized<'a, I>
where I: 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.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.6.0 ยท Sourceยง

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

1.17.0 ยท Sourceยง

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

Sourceยง

impl<'a, T: Debug + Ord, A: Debug + Allocator> Debug for DrainSorted<'a, T, 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.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.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,

Sourceยง

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

Sourceยง

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

1.0.0 ยท Sourceยง

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

1.0.0 ยท Sourceยง

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

Sourceยง

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

Sourceยง

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

1.60.0 ยท Sourceยง

impl<'a> Debug for EscapeAscii<'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.36.0 ยท Sourceยง

impl<'a> Debug for IoSlice<'a>

1.36.0 ยท Sourceยง

impl<'a> Debug for IoSliceMut<'a>

1.0.0 ยท Sourceยง

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

1.0.0 ยท Sourceยง

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

1.10.0 ยท Sourceยง

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

Sourceยง

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

Sourceยง

impl<'a> Debug for Source<'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> Debug for Utf8Pattern<'a>

1.0.0 ยท Sourceยง

impl<A, B> Debug for core::iter::adapters::chain::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<A> Debug for core::option::IntoIter<A>
where A: Debug,

Sourceยง

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

1.96.0 ยท Sourceยง

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

1.95.0 ยท Sourceยง

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

1.96.0 ยท Sourceยง

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

1.0.0 ยท Sourceยง

impl<A> Debug for core::iter::sources::repeat::Repeat<A>
where A: Debug,

1.82.0 ยท Sourceยง

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

1.55.0 ยท Sourceยง

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

1.0.0 ยท Sourceยง

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

Sourceยง

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

Sourceยง

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

1.4.0 ยท Sourceยง

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

1.34.0 ยท Sourceยง

impl<F> Debug for core::iter::sources::from_fn::FromFn<F>

1.93.0 ยท Sourceยง

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

1.68.0 ยท Sourceยง

impl<F> Debug for OnceWith<F>

1.64.0 ยท Sourceยง

impl<F> Debug for PollFn<F>

1.68.0 ยท Sourceยง

impl<F> Debug for RepeatWith<F>

Sourceยง

impl<G> Debug for FromCoroutine<G>

1.9.0 ยท Sourceยง

impl<H> Debug for BuildHasherDefault<H>

Sourceยง

impl<I, F, const N: usize> Debug for MapWindows<I, F, N>
where I: Iterator + 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.9.0 ยท Sourceยง

impl<I, U, F> Debug for FlatMap<I, U, F>
where I: Debug, U: IntoIterator, <U as IntoIterator>::IntoIter: 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,

Sourceยง

impl<I, const N: usize> Debug for ArrayChunks<I, N>
where I: Debug + Iterator, <I as Iterator>::Item: Debug,

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.9.0 ยท Sourceยง

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

1.0.0 ยท Sourceยง

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

Sourceยง

impl<I> Debug for FromIter<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 core::iter::adapters::take::Take<I>
where I: 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.96.0 ยท Sourceยง

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

1.0.0 ยท Sourceยง

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

1.96.0 ยท Sourceยง

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

1.26.0 ยท Sourceยง

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

1.95.0 ยท Sourceยง

impl<Idx> Debug for core::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,

1.96.0 ยท 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.54.0 ยท Sourceยง

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

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.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, 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.54.0 ยท Sourceยง

impl<K: Debug, V, A: Allocator + Clone> Debug for IntoKeys<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<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>

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>

1.17.0 ยท Sourceยง

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

Sourceยง

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

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.0.0 ยท Sourceยง

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

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,

Sourceยง

impl<T, F> Debug for DropGuard<T, F>
where T: Debug, F: FnOnce(T),

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,

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, U> Debug for alloc::io::Chain<T, U>
where T: Debug, U: 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,

Sourceยง

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

1.0.0 ยท Sourceยง

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

Sourceยง

impl<T, const VARIANT: u32, const FIELD: u32> Debug for FieldRepresentingType<T, VARIANT, FIELD>
where T: ?Sized,

1.0.0 ยท Sourceยง

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

1.0.0 ยท Sourceยง

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

Sourceยง

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

Sourceยง

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

Sourceยง

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

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>

1.0.0 ยท Sourceยง

impl<T: Debug + ?Sized, A: Allocator> Debug for Box<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, 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>

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::vec_deque::Drain<'_, T, A>

1.17.0 ยท Sourceยง

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

1.17.0 ยท Sourceยง

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

1.17.0 ยท Sourceยง

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

1.17.0 ยท Sourceยง

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

1.13.0 ยท Sourceยง

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

1.0.0 ยท Sourceยง

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

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 alloc::collections::linked_list::Iter<'_, 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::linked_list::IterMut<'_, T>

1.17.0 ยท Sourceยง

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

1.17.0 ยท Sourceยง

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

1.17.0 ยท Sourceยง

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

1.17.0 ยท Sourceยง

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

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โ‚, Tโ‚‚, โ€ฆ, Tโ‚™)
where T: Debug,

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

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.16.0 ยท Sourceยง

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

1.3.0 ยท Sourceยง

impl<T> Debug for Atomic<*mut T>

Available on target_has_atomic_load_store=ptr only.
Sourceยง

impl<T> Debug for BorrowedBuf<'_, T>

Sourceยง

impl<T> Debug for BorrowedCursor<'_, T>

1.17.0 ยท Sourceยง

impl<T> Debug for Bound<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 alloc::io::Cursor<T>
where T: Debug,

1.21.0 ยท Sourceยง

impl<T> Debug for Discriminant<T>

1.9.0 ยท Sourceยง

impl<T> Debug for core::iter::sources::empty::Empty<T>

1.0.0 ยท Sourceยง

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

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.20.0 ยท Sourceยง

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

1.41.0 ยท Sourceยง

impl<T> Debug for MaybeUninit<T>

1.25.0 ยท Sourceยง

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

1.28.0 ยท Sourceยง

impl<T> Debug for NonZero<T>

1.98.0 ยท Sourceยง

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

1.2.0 ยท Sourceยง

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

1.70.0 ยท Sourceยง

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

1.0.0 ยท Sourceยง

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

1.48.0 ยท Sourceยง

impl<T> Debug for Pending<T>

Sourceยง

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

Sourceยง

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

1.0.0 ยท Sourceยง

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

Sourceยง

impl<T> Debug for PhantomInvariant<T>
where T: ?Sized,

1.36.0 ยท Sourceยง

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

1.48.0 ยท Sourceยง

impl<T> Debug for Ready<T>
where T: 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,

1.0.0 ยท Sourceยง

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

1.19.0 ยท Sourceยง

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

1.74.0 ยท Sourceยง

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

Sourceยง

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

Sourceยง

impl<T> Debug for SyncView<T>
where T: ?Sized,

1.0.0 ยท Sourceยง

impl<T> Debug for alloc::io::Take<T>
where T: Debug,

Sourceยง

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

1.9.0 ยท Sourceยง

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

Sourceยง

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

1.0.0 ยท Sourceยง

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

Sourceยง

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

1.0.0 ยท Sourceยง

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

Sourceยง

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