Trait Debug
pub trait Debug: PointeeSized
? 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:
let origin = Point ;
assert_eq!;
Manually implementing:
use fmt;
let origin = Point ;
assert_eq!;
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.
# use fmt;
#
#
Debug implementations using either derive or the debug builder API
on Formatter support pretty-printing using the alternate flag: {:#?}.
Pretty-printing with #?:
let origin = Point ;
let expected = "The origin is: Point {
x: 0,
y: 0,
}";
assert_eq!;
Required Methods
fn fmt(&self, f: &mut Formatter<'_>) -> ResultFormats the value using the given formatter.
Errors
This function should return
Errif, and only if, the providedFormatterreturnsErr. String formatting is considered an infallible operation; this function only returns aResultbecause 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 fmt; let position = Position ; assert_eq!; assert_eq!;
Implementors
impl Debug for ()impl Debug for Abiimpl Debug for AddrKindimpl Debug for AddrParseErrorimpl Debug for Alignmentimpl Debug for Alignmentimpl Debug for AllocErrorimpl Debug for Arguments<'_>impl Debug for AsciiCharimpl Debug for AssertKindimpl Debug for Assumeimpl Debug for AtomicBoolimpl Debug for AtomicI128impl Debug for AtomicI16impl Debug for AtomicI32impl Debug for AtomicI64impl Debug for AtomicI8impl Debug for AtomicIsizeimpl Debug for AtomicOrderingimpl Debug for AtomicU128impl Debug for AtomicU16impl Debug for AtomicU32impl Debug for AtomicU64impl Debug for AtomicU8impl Debug for AtomicUsizeimpl Debug for BiasedFpimpl Debug for Big64x20impl Debug for Big8x3impl Debug for BorrowErrorimpl Debug for BorrowMutErrorimpl Debug for BorrowedBufDebugimpl Debug for ByteNeedleimpl Debug for ByteStrimpl Debug for CStrimpl Debug for CaseMappingIterimpl Debug for CharCaseimpl Debug for CharErrorKindimpl Debug for CharTryFromErrorimpl Debug for Chars<'_>impl Debug for CodePointimpl Debug for CodePointInnerimpl Debug for CodeUnitimpl Debug for Constimpl Debug for Context<'_>impl Debug for CpuidResultimpl Debug for Customimpl Debug for CustomOwnerimpl Debug for Debug<'_>impl Debug for DebugAsHeximpl Debug for Decimalimpl Debug for DecimalSeqimpl Debug for DecodeUtf16Errorimpl Debug for Decodedimpl Debug for Display<'_>impl Debug for Durationimpl Debug for DynTraitimpl Debug for DynTraitPredicateimpl Debug for Emptyimpl Debug for EmptyNeedleimpl Debug for EncodeUtf16<'_>impl Debug for EncodeWide<'_>impl Debug for Errorimpl Debug for Errorimpl Debug for ErrorKindimpl Debug for EscapeDebugimpl Debug for EscapeDefaultimpl Debug for EscapeDefaultimpl Debug for EscapeUnicodeimpl Debug for FieldIdimpl Debug for FloatErrorKindimpl Debug for FnPtrimpl Debug for FormattingOptionsimpl Debug for Fpimpl Debug for FpCategoryimpl Debug for FromBytesUntilNulErrorimpl Debug for FromBytesWithNulErrorimpl Debug for FullDecodedimpl Debug for Genericimpl Debug for GenericTypeimpl Debug for GetDisjointMutErrorimpl Debug for HvxVectorimpl Debug for HvxVectorimpl Debug for HvxVectorPairimpl Debug for HvxVectorPairimpl Debug for HvxVectorPredimpl Debug for HvxVectorPredimpl Debug for I32NotAllOnesimpl Debug for I64NotAllOnesimpl Debug for IndexRangeimpl Debug for IntErrorKindimpl Debug for Internalimpl Debug for IpAddrimpl Debug for Ipv4Addrimpl Debug for Ipv6Addrimpl Debug for Ipv6MulticastScopeimpl Debug for Lastimpl Debug for Layoutimpl Debug for LayoutErrorimpl Debug for Lifetimeimpl Debug for LocalWakerimpl Debug for Localityimpl Debug for Location<'_>impl Debug for Nanosecondsimpl Debug for NonZeroCharInnerimpl Debug for NonZeroI128Innerimpl Debug for NonZeroI16Innerimpl Debug for NonZeroI32Innerimpl Debug for NonZeroI64Innerimpl Debug for NonZeroI8Innerimpl Debug for NonZeroIsizeInnerimpl Debug for NonZeroU128Innerimpl Debug for NonZeroU16Innerimpl Debug for NonZeroU32Innerimpl Debug for NonZeroU64Innerimpl Debug for NonZeroU8Innerimpl Debug for NonZeroUsizeInnerimpl Debug for Orderingimpl Debug for Orderingimpl Debug for OsFunctionsimpl Debug for PanicMessage<'_>impl Debug for ParseBoolErrorimpl Debug for ParseCharErrorimpl Debug for ParseFloatErrorimpl Debug for ParseIntErrorimpl Debug for Pattern<'_>impl Debug for PhantomContravariantLifetime<'_>impl Debug for PhantomCovariantLifetime<'_>impl Debug for PhantomInvariantLifetime<'_>impl Debug for PhantomPinnedimpl Debug for RangeFullimpl Debug for RawWakerimpl Debug for RawWakerVTableimpl Debug for Repeatimpl Debug for Reprimpl Debug for ResumeTyimpl Debug for SearchStepimpl Debug for SeekFromimpl Debug for Signimpl Debug for Signimpl Debug for SimdAlignimpl Debug for SimpleMessageimpl Debug for Sinkimpl Debug for Sip13Roundsimpl Debug for Sip24Roundsimpl Debug for SipHasherimpl Debug for SipHasher13impl Debug for SipHasher24impl Debug for SocketAddrimpl Debug for SocketAddrV4impl Debug for SocketAddrV6impl Debug for Stateimpl Debug for Strimpl Debug for StrSearcherImplimpl Debug for ToCasefoldimpl Debug for ToLowercaseimpl Debug for ToTitlecaseimpl Debug for ToUppercaseimpl Debug for Traitimpl Debug for TryFromCharErrorimpl Debug for TryFromFloatSecsErrorimpl Debug for TryFromFloatSecsErrorKindimpl Debug for TryFromIntErrorimpl Debug for TryFromSliceErrorimpl Debug for TwoWaySearcherimpl Debug for Typeimpl Debug for TypeIdimpl Debug for TypeKindimpl Debug for U32NotAllOnesimpl Debug for U64NotAllOnesimpl Debug for UsizeNoHighBitimpl Debug for UsizeNoHighBitMinusOneimpl Debug for Utf8BoundaryErrorimpl Debug for Utf8Chunks<'_>impl Debug for Utf8Errorimpl Debug for VaList<'_>impl Debug for VaListInnerimpl Debug for VariantIdimpl Debug for Wakerimpl Debug for Wtf8impl Debug for Wtf8CodePoints<'_>impl Debug for __m128impl Debug for __m128bhimpl Debug for __m128dimpl Debug for __m128himpl Debug for __m128iimpl Debug for __m256impl Debug for __m256bhimpl Debug for __m256dimpl Debug for __m256himpl Debug for __m256iimpl Debug for __m512impl Debug for __m512bhimpl Debug for __m512dimpl Debug for __m512himpl Debug for __m512iimpl Debug for __tile1024iimpl Debug for bf16impl Debug for boolimpl Debug for c_voidimpl Debug for charimpl Debug for dyn Anyimpl Debug for dyn Any + Sendimpl Debug for dyn Any + Send + Syncimpl Debug for f128impl Debug for f16impl Debug for f16bimpl Debug for f16x2impl Debug for f32impl Debug for f64impl Debug for float16x4_timpl Debug for float16x4x2_timpl Debug for float16x4x3_timpl Debug for float16x4x4_timpl Debug for float16x8_timpl Debug for float16x8x2_timpl Debug for float16x8x3_timpl Debug for float16x8x4_timpl Debug for float32x2_timpl Debug for float32x2x2_timpl Debug for float32x2x3_timpl Debug for float32x2x4_timpl Debug for float32x4_timpl Debug for float32x4x2_timpl Debug for float32x4x3_timpl Debug for float32x4x4_timpl Debug for float64x1_timpl Debug for float64x1x2_timpl Debug for float64x1x3_timpl Debug for float64x1x4_timpl Debug for float64x2_timpl Debug for float64x2x2_timpl Debug for float64x2x3_timpl Debug for float64x2x4_timpl Debug for i128impl Debug for i16impl Debug for i32impl Debug for i64impl Debug for i8impl Debug for int16x4_timpl Debug for int16x4x2_timpl Debug for int16x4x3_timpl Debug for int16x4x4_timpl Debug for int16x8_timpl Debug for int16x8x2_timpl Debug for int16x8x3_timpl Debug for int16x8x4_timpl Debug for int32x2_timpl Debug for int32x2x2_timpl Debug for int32x2x3_timpl Debug for int32x2x4_timpl Debug for int32x4_timpl Debug for int32x4x2_timpl Debug for int32x4x3_timpl Debug for int32x4x4_timpl Debug for int64x1_timpl Debug for int64x1x2_timpl Debug for int64x1x3_timpl Debug for int64x1x4_timpl Debug for int64x2_timpl Debug for int64x2x2_timpl Debug for int64x2x3_timpl Debug for int64x2x4_timpl Debug for int8x16_timpl Debug for int8x16x2_timpl Debug for int8x16x3_timpl Debug for int8x16x4_timpl Debug for int8x8_timpl Debug for int8x8x2_timpl Debug for int8x8x3_timpl Debug for int8x8x4_timpl Debug for isizeimpl Debug for m128impl Debug for m128dimpl Debug for m128iimpl Debug for m256impl Debug for m256dimpl Debug for m256iimpl Debug for neverimpl Debug for objc_classimpl Debug for objc_selectorimpl Debug for poly16x4_timpl Debug for poly16x4x2_timpl Debug for poly16x4x3_timpl Debug for poly16x4x4_timpl Debug for poly16x8_timpl Debug for poly16x8x2_timpl Debug for poly16x8x3_timpl Debug for poly16x8x4_timpl Debug for poly64x1_timpl Debug for poly64x1x2_timpl Debug for poly64x1x3_timpl Debug for poly64x1x4_timpl Debug for poly64x2_timpl Debug for poly64x2x2_timpl Debug for poly64x2x3_timpl Debug for poly64x2x4_timpl Debug for poly8x16_timpl Debug for poly8x16x2_timpl Debug for poly8x16x3_timpl Debug for poly8x16x4_timpl Debug for poly8x8_timpl Debug for poly8x8x2_timpl Debug for poly8x8x3_timpl Debug for poly8x8x4_timpl Debug for ppcf128impl Debug for strimpl Debug for svpatternimpl Debug for svprfopimpl Debug for u128impl Debug for u16impl Debug for u32impl Debug for u64impl Debug for u8impl Debug for uint16x4_timpl Debug for uint16x4x2_timpl Debug for uint16x4x3_timpl Debug for uint16x4x4_timpl Debug for uint16x8_timpl Debug for uint16x8x2_timpl Debug for uint16x8x3_timpl Debug for uint16x8x4_timpl Debug for uint32x2_timpl Debug for uint32x2x2_timpl Debug for uint32x2x3_timpl Debug for uint32x2x4_timpl Debug for uint32x4_timpl Debug for uint32x4x2_timpl Debug for uint32x4x3_timpl Debug for uint32x4x4_timpl Debug for uint64x1_timpl Debug for uint64x1x2_timpl Debug for uint64x1x3_timpl Debug for uint64x1x4_timpl Debug for uint64x2_timpl Debug for uint64x2x2_timpl Debug for uint64x2x3_timpl Debug for uint64x2x4_timpl Debug for uint8x16_timpl Debug for uint8x16x2_timpl Debug for uint8x16x3_timpl Debug for uint8x16x4_timpl Debug for uint8x8_timpl Debug for uint8x8x2_timpl Debug for uint8x8x3_timpl Debug for uint8x8x4_timpl Debug for usizeimpl Debug for v128impl Debug for vector_bool_charimpl Debug for vector_bool_charimpl Debug for vector_bool_intimpl Debug for vector_bool_intimpl Debug for vector_bool_longimpl Debug for vector_bool_long_longimpl Debug for vector_bool_shortimpl Debug for vector_bool_shortimpl Debug for vector_doubleimpl Debug for vector_doubleimpl Debug for vector_floatimpl Debug for vector_floatimpl Debug for vector_signed_charimpl Debug for vector_signed_charimpl Debug for vector_signed_intimpl Debug for vector_signed_intimpl Debug for vector_signed_longimpl Debug for vector_signed_long_longimpl Debug for vector_signed_shortimpl Debug for vector_signed_shortimpl Debug for vector_unsigned_charimpl Debug for vector_unsigned_charimpl Debug for vector_unsigned_intimpl Debug for vector_unsigned_intimpl Debug for vector_unsigned_longimpl Debug for vector_unsigned_long_longimpl Debug for vector_unsigned_shortimpl Debug for vector_unsigned_shortimpl<'a> Debug for Bytes<'a>impl<'a> Debug for Bytes<'a>impl<'a> Debug for CharIndices<'a>impl<'a> Debug for CharSearcher<'a>impl<'a> Debug for ContextBuilder<'a>impl<'a> Debug for EscapeAscii<'a>impl<'a> Debug for EscapeDebug<'a>impl<'a> Debug for EscapeDefault<'a>impl<'a> Debug for EscapeUnicode<'a>impl<'a> Debug for ExtData<'a>impl<'a> Debug for IoSlice<'a>impl<'a> Debug for IoSliceMut<'a>impl<'a> Debug for Lines<'a>impl<'a> Debug for LinesAny<'a>impl<'a> Debug for PanicInfo<'a>impl<'a> Debug for Part<'a>impl<'a> Debug for Request<'a>impl<'a> Debug for Source<'a>impl<'a> Debug for SplitAsciiWhitespace<'a>impl<'a> Debug for SplitAsciiWhitespace<'a>impl<'a> Debug for SplitWhitespace<'a>impl<'a> Debug for Utf8Chunk<'a>impl<'a> Debug for Utf8Pattern<'a>impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>impl<'a, 'b> Debug for StrSearcher<'a, 'b>impl<'a, 'b, const N: usize> Debug for CharArrayRefSearcher<'a, 'b, N>impl<'a, A: Debug + 'a> Debug for Iter<'a, A>impl<'a, A: Debug + 'a> Debug for IterMut<'a, A>impl<'a, C: Debug + MultiCharEq> Debug for MultiCharEqSearcher<'a, C>impl<'a, I: Debug> Debug for ByRefSized<'a, I>impl<'a, P> Debug for MatchIndices<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for MatchIndicesInternal<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for Matches<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for MatchesInternal<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for RMatchIndices<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for RMatches<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for RSplit<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for RSplitN<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for RSplitTerminator<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for Split<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for SplitInternal<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for SplitN<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for SplitNInternal<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P> Debug for SplitTerminator<'a, P> where P: Pattern<Searcher<'a>: Debug>,impl<'a, P: Pattern<Searcher<'a>: Debug>> Debug for SplitInclusive<'a, P>impl<'a, T: 'a + Debug, P> Debug for ChunkBy<'a, T, P>impl<'a, T: 'a + Debug, P> Debug for ChunkByMut<'a, T, P>impl<'a, T: Debug + 'a> Debug for Chunks<'a, T>impl<'a, T: Debug + 'a> Debug for ChunksExact<'a, T>impl<'a, T: Debug + 'a> Debug for ChunksExactMut<'a, T>impl<'a, T: Debug + 'a> Debug for ChunksMut<'a, T>impl<'a, T: Debug + 'a> Debug for Iter<'a, T>impl<'a, T: Debug + 'a> Debug for IterMut<'a, T>impl<'a, T: Debug + 'a> Debug for RChunks<'a, T>impl<'a, T: Debug + 'a> Debug for RChunksExact<'a, T>impl<'a, T: Debug + 'a> Debug for RChunksExactMut<'a, T>impl<'a, T: Debug + 'a> Debug for RChunksMut<'a, T>impl<'a, T: Debug + 'a> Debug for Windows<'a, T>impl<'a, T: Debug + 'a, const N: usize> Debug for ArrayWindows<'a, T, N>impl<'a, const N: usize> Debug for CharArraySearcher<'a, N>impl<A: Debug> Debug for IntoIter<A>impl<A: Debug> Debug for Item<A>impl<A: Debug> Debug for OptionFlatten<A>impl<A: Debug> Debug for RangeFromIter<A>impl<A: Debug> Debug for RangeInclusiveIter<A>impl<A: Debug> Debug for RangeIter<A>impl<A: Debug> Debug for Repeat<A>impl<A: Debug> Debug for RepeatN<A>impl<A: Debug, B: Debug> Debug for Chain<A, B>impl<A: Debug, B: Debug> Debug for Zip<A, B>impl<A: Debug, Z: Debug, Y: Debug, X: Debug, W: Debug, V: Debug, U: Debug, T: Debug> Debug for (A, Z, Y, X, W, V, U, T)impl<B: Debug, A: Debug, Z: Debug, Y: Debug, X: Debug, W: Debug, V: Debug, U: Debug, T: Debug> Debug for (B, A, Z, Y, X, W, V, U, T)impl<B: Debug, C: Debug> Debug for ControlFlow<B, C>impl<C: Debug, B: Debug, A: Debug, Z: Debug, Y: Debug, X: Debug, W: Debug, V: Debug, U: Debug, T: Debug> Debug for (C, B, A, Z, Y, X, W, V, U, T)impl<D: Debug, C: Debug, B: Debug, A: Debug, Z: Debug, Y: Debug, X: Debug, W: Debug, V: Debug, U: Debug, T: Debug> Debug for (D, C, B, A, Z, Y, X, W, V, U, T)impl<Dyn: PointeeSized> Debug for DynMetadata<Dyn>impl<E> Debug for Capture<E, TryCaptureWithDebug> where E: Printable,impl<E> Debug for Capture<E, TryCaptureWithoutDebug>impl<E: Debug, D: Debug, C: Debug, B: Debug, A: Debug, Z: Debug, Y: Debug, X: Debug, W: Debug, V: Debug, U: Debug, T: Debug> Debug for (E, D, C, B, A, Z, Y, X, W, V, U, T)impl<F> Debug for CharPredicateSearcher<'_, F> where F: FnMut(char) -> bool,impl<F> Debug for DebugOnce<F> where F: FnOnce(&mut Formatter<'_>) -> Result,impl<F> Debug for FromFn<F>impl<F> Debug for FromFn<F> where F: Fn(&mut Formatter<'_>) -> Result,impl<F> Debug for OnceWith<F>impl<F> Debug for PollFn<F>impl<F> Debug for RepeatWith<F>impl<F> Debug for fn(T) -> Ret where F: FnPtr,impl<F: FnPtr> Debug for Fimpl<G> Debug for FromCoroutine<G>impl<H> Debug for BuildHasherDefault<H>impl<I> Debug for DecodeUtf16<I> where I: Iterator<Item = u16> + Debug,impl<I, G> Debug for IntersperseWith<I, G> where I: Iterator + Debug, I::Item: Debug, G: Debug,impl<I, U> Debug for Flatten<I> where I: Debug + Iterator<Item: IntoIterator<IntoIter = U, Item = U::Item>>, U: Debug + Iterator,impl<I: Debug + Iterator> Debug for Intersperse<I> where I::Item: Clone + Debug,impl<I: Debug + Iterator> Debug for Peekable<I> where I::Item: Debug,impl<I: Debug + Iterator, const N: usize> Debug for ArrayChunks<I, N> where I::Item: Debug,impl<I: Debug> Debug for Cloned<I>impl<I: Debug> Debug for Copied<I>impl<I: Debug> Debug for Cycle<I>impl<I: Debug> Debug for Enumerate<I>impl<I: Debug> Debug for FromIter<I>impl<I: Debug> Debug for Fuse<I>impl<I: Debug> Debug for GenericSplitN<I>impl<I: Debug> Debug for Ref<I>impl<I: Debug> Debug for Skip<I>impl<I: Debug> Debug for StepBy<I>impl<I: Debug> Debug for Take<I>impl<I: Debug, F> Debug for FilterMap<I, F>impl<I: Debug, F> Debug for Inspect<I, F>impl<I: Debug, F> Debug for Map<I, F>impl<I: Debug, P> Debug for Filter<I, P>impl<I: Debug, P> Debug for MapWhile<I, P>impl<I: Debug, P> Debug for SkipWhile<I, P>impl<I: Debug, P> Debug for TakeWhile<I, P>impl<I: Debug, St: Debug, F> Debug for Scan<I, St, F>impl<I: Debug, U, F> Debug for FlatMap<I, U, F> where U: IntoIterator<IntoIter: Debug>,impl<I: Debug, U: Debug> Debug for FlattenCompat<I, U>impl<I: Iterator + Debug, F, const N: usize> Debug for MapWindows<I, F, N>impl<Idx: Debug> Debug for Clamp<Idx>impl<Idx: Debug> Debug for Range<Idx>impl<Idx: Debug> Debug for Range<Idx>impl<Idx: Debug> Debug for RangeFrom<Idx>impl<Idx: Debug> Debug for RangeFrom<Idx>impl<Idx: Debug> Debug for RangeInclusive<Idx>impl<Idx: Debug> Debug for RangeInclusive<Idx>impl<Idx: Debug> Debug for RangeTo<Idx>impl<Idx: Debug> Debug for RangeToInclusive<Idx>impl<Idx: Debug> Debug for RangeToInclusive<Idx>impl<K: Debug, V: Debug> Debug for KeyAndValue<K, V>impl<P: Debug + ?Sized> Debug for MaybeDangling<P>impl<Ptr: Debug> Debug for Pin<Ptr>impl<S: Debug + Sip> Debug for Hasher<S>impl<T> Debug for AtomicPtr<T>impl<T> Debug for BorrowedBuf<'_, T>impl<T> Debug for BorrowedCursor<'_, T>impl<T> Debug for Discriminant<T>impl<T> Debug for Empty<T>impl<T> Debug for MaybeUninit<T>impl<T> Debug for NonZero<T> where T: ZeroablePrimitive + Debug,impl<T> Debug for Pending<T>impl<T> Debug for PhantomContravariant<T> where T: ?Sized,impl<T> Debug for PhantomCovariant<T> where T: ?Sized,impl<T> Debug for PhantomInvariant<T> where T: ?Sized,impl<T, F> Debug for DropGuard<T, F> where T: Debug, F: FnOnce(T),impl<T, const N: usize> Debug for Mask<T, N> where T: MaskElement + Debug,impl<T, const N: usize> Debug for Simd<T, N> where T: SimdElement + Debug,impl<T: ?Sized + Debug> Debug for Ref<'_, T>impl<T: ?Sized + Debug> Debug for RefCell<T>impl<T: ?Sized + Debug> Debug for RefMut<'_, T>impl<T: ?Sized> Debug for CovariantUnsafeCell<T>impl<T: ?Sized> Debug for PhantomData<T>impl<T: ?Sized> Debug for SyncUnsafeCell<T>impl<T: ?Sized> Debug for SyncView<T>impl<T: ?Sized> Debug for UnsafeCell<T>impl<T: ?Sized> Debug for UnsafePinned<T>impl<T: ?Sized, const VARIANT: u32, const FIELD: u32> Debug for FieldRepresentingType<T, VARIANT, FIELD>impl<T: Copy + Debug> Debug for Cell<T>impl<T: Debug + 'static> Debug for Value<T>impl<T: Debug + ?Sized + 'static> Debug for MaybeSizedValue<T>impl<T: Debug + ?Sized> Debug for ManuallyDrop<T>impl<T: Debug + PointeeSized> Debug for TraitImpl<T>impl<T: Debug> Debug for (T,)impl<T: Debug> Debug for AssertUnwindSafe<T>impl<T: Debug> Debug for Bound<T>impl<T: Debug> Debug for Complex<T>impl<T: Debug> Debug for Cursor<T>impl<T: Debug> Debug for IntoIter<T>impl<T: Debug> Debug for Iter<'_, T>impl<T: Debug> Debug for IterMut<'_, T>impl<T: Debug> Debug for Once<T>impl<T: Debug> Debug for OnceCell<T>impl<T: Debug> Debug for Option<T>impl<T: Debug> Debug for Poll<T>impl<T: Debug> Debug for PolymorphicIter<[MaybeUninit<T>]>impl<T: Debug> Debug for Ready<T>impl<T: Debug> Debug for Rev<T>impl<T: Debug> Debug for Reverse<T>impl<T: Debug> Debug for Saturating<T>impl<T: Debug> Debug for Take<T>impl<T: Debug> Debug for Wrapping<T>impl<T: Debug> Debug for Yeet<T>impl<T: Debug> Debug for [T]impl<T: Debug, E: Debug> Debug for Result<T, E>impl<T: Debug, F> Debug for LazyCell<T, F>impl<T: Debug, F> Debug for Successors<T, F>impl<T: Debug, P> Debug for RSplit<'_, T, P> where P: FnMut(&T) -> bool,impl<T: Debug, P> Debug for RSplitMut<'_, T, P> where P: FnMut(&T) -> bool,impl<T: Debug, P> Debug for RSplitN<'_, T, P> where P: FnMut(&T) -> bool,impl<T: Debug, P> Debug for RSplitNMut<'_, T, P> where P: FnMut(&T) -> bool,impl<T: Debug, P> Debug for Split<'_, T, P> where P: FnMut(&T) -> bool,impl<T: Debug, P> Debug for SplitInclusive<'_, T, P> where P: FnMut(&T) -> bool,impl<T: Debug, P> Debug for SplitInclusiveMut<'_, T, P> where P: FnMut(&T) -> bool,impl<T: Debug, P> Debug for SplitMut<'_, T, P> where P: FnMut(&T) -> bool,impl<T: Debug, P> Debug for SplitN<'_, T, P> where P: FnMut(&T) -> bool,impl<T: Debug, P> Debug for SplitNMut<'_, T, P> where P: FnMut(&T) -> bool,impl<T: Debug, U: Debug> Debug for Chain<T, U>impl<T: Debug, const N: usize> Debug for IntoIter<T, N>impl<T: Debug, const N: usize> Debug for [T; N]impl<T: NumBufferTrait> Debug for NumBuffer<T>impl<T: PointeeSized + Debug> Debug for &Timpl<T: PointeeSized + Debug> Debug for &mut Timpl<T: PointeeSized> Debug for *const Timpl<T: PointeeSized> Debug for *mut Timpl<T: PointeeSized> Debug for NonNull<T>impl<T: PointeeSized> Debug for Unique<T>impl<T: SimdElement, const N: usize> Debug for Simd<T, N>impl<T: SimdElement, const N: usize> Debug for SimdM<T, N>impl<U: Debug, T: Debug> Debug for (U, T)impl<V: Debug, U: Debug, T: Debug> Debug for (V, U, T)impl<W: Debug, V: Debug, U: Debug, T: Debug> Debug for (W, V, U, T)impl<X: Debug, W: Debug, V: Debug, U: Debug, T: Debug> Debug for (X, W, V, U, T)impl<Y: Debug, R: Debug> Debug for CoroutineState<Y, R>impl<Y: Debug, X: Debug, W: Debug, V: Debug, U: Debug, T: Debug> Debug for (Y, X, W, V, U, T)impl<Z: Debug, Y: Debug, X: Debug, W: Debug, V: Debug, U: Debug, T: Debug> Debug for (Z, Y, X, W, V, U, T)impl<const N: usize> Debug for EscapeIterInner<N, AlwaysEscaped>impl<const N: usize> Debug for EscapeIterInner<N, MaybeEscaped>