Trait alloc::fmt::Debug 1.0.0[−][src]
?
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 )
.
Examples
Deriving an implementation:
#[derive(Debug)] struct Point { x: i32, y: i32, } let origin = Point { x: 0, y: 0 }; println!("The origin is: {:?}", origin);
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 { write!(f, "Point {{ x: {}, y: {} }}", self.x, self.y) } } let origin = Point { x: 0, y: 0 }; println!("The origin is: {:?}", origin);
This outputs:
The origin is: Point { x: 0, y: 0 }
There are a number of debug_*
methods on Formatter
to help you with manual
implementations, such as debug_struct
.
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 }; println!("The origin is: {:#?}", origin);
This outputs:
The origin is: Point {
x: 0,
y: 0
}
Required Methods
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 { write!(f, "({:?}, {:?})", self.longitude, self.latitude) } } assert_eq!("(1.987, 2.983)".to_owned(), format!("{:?}", Position { longitude: 1.987, latitude: 2.983, }));
Implementations on Foreign Types
impl<A, B> Debug for Chain<A, B> where
A: Debug,
B: Debug,
[src]
impl<A, B> Debug for Chain<A, B> where
A: Debug,
B: Debug,
impl Debug for NonZeroUsize
[src]
impl Debug for NonZeroUsize
impl<'a, T> Debug for PinMut<'a, T> where
T: Debug + ?Sized,
[src]
impl<'a, T> Debug for PinMut<'a, T> where
T: Debug + ?Sized,
impl Debug for Duration
[src]
impl Debug for Duration
impl Debug for AtomicU8
[src]
impl Debug for AtomicU8
impl<'a> Debug for Utf8LossyChunk<'a>
[src]
impl<'a> Debug for Utf8LossyChunk<'a>
impl Debug for TryFromSliceError
[src]
impl Debug for TryFromSliceError
impl<I> Debug for StepBy<I> where
I: Debug,
[src]
impl<I> Debug for StepBy<I> where
I: Debug,
impl Debug for AtomicU32
[src]
impl Debug for AtomicU32
impl Debug for AtomicI64
[src]
impl Debug for AtomicI64
impl Debug for SipHasher
[src]
impl Debug for SipHasher
impl<T> Debug for UnsafeCell<T> where
T: Debug + ?Sized,
[src]
impl<T> Debug for UnsafeCell<T> where
T: Debug + ?Sized,
impl<T> Debug for ManuallyDrop<T> where
T: Debug,
[src]
impl<T> Debug for ManuallyDrop<T> where
T: Debug,
impl<F> Debug for RepeatWith<F> where
F: Debug,
[src]
impl<F> Debug for RepeatWith<F> where
F: Debug,
impl Debug for BorrowMutError
[src]
impl Debug for BorrowMutError
impl Debug for AtomicI32
[src]
impl Debug for AtomicI32
impl Debug for EscapeUnicode
[src]
impl Debug for EscapeUnicode
impl<I> Debug for Peekable<I> where
I: Iterator + Debug,
<I as Iterator>::Item: Debug,
[src]
impl<I> Debug for Peekable<I> where
I: Iterator + Debug,
<I as Iterator>::Item: Debug,
impl<'a, A> Debug for Iter<'a, A> where
A: 'a + Debug,
[src]
impl<'a, A> Debug for Iter<'a, A> where
A: 'a + Debug,
impl Debug for NonZeroU128
[src]
impl Debug for NonZeroU128
impl<T> Debug for Bound<T> where
T: Debug,
[src]
impl<T> Debug for Bound<T> where
T: Debug,
impl<A, B> Debug for Zip<A, B> where
A: Debug,
B: Debug,
[src]
impl<A, B> Debug for Zip<A, B> where
A: Debug,
B: Debug,
impl Debug for EscapeDebug
[src]
impl Debug for EscapeDebug
impl<T> Debug for Reverse<T> where
T: Debug,
[src]
impl<T> Debug for Reverse<T> where
T: Debug,
impl<Idx> Debug for RangeToInclusive<Idx> where
Idx: Debug,
[src]
impl<Idx> Debug for RangeToInclusive<Idx> where
Idx: Debug,
impl<I> Debug for Cycle<I> where
I: Debug,
[src]
impl<I> Debug for Cycle<I> where
I: Debug,
impl<T> Debug for Cell<T> where
T: Copy + Debug,
[src]
impl<T> Debug for Cell<T> where
T: Copy + Debug,
impl Debug for BorrowError
[src]
impl Debug for BorrowError
impl<'a> Debug for Location<'a>
[src]
impl<'a> Debug for Location<'a>
impl Debug for AtomicI8
[src]
impl Debug for AtomicI8
impl<T> Debug for AtomicPtr<T>
[src]
impl<T> Debug for AtomicPtr<T>
impl<Idx> Debug for RangeTo<Idx> where
Idx: Debug,
[src]
impl<Idx> Debug for RangeTo<Idx> where
Idx: Debug,
impl Debug for FpCategory
[src]
impl Debug for FpCategory
impl<I, F> Debug for Map<I, F> where
I: Debug,
[src]
impl<I, F> Debug for Map<I, F> where
I: Debug,
impl Debug for ParseCharError
[src]
impl Debug for ParseCharError
impl<T> Debug for Rev<T> where
T: Debug,
[src]
impl<T> Debug for Rev<T> where
T: Debug,
impl Debug for NonZeroU32
[src]
impl Debug for NonZeroU32
impl Debug for AtomicUsize
[src]
impl Debug for AtomicUsize
impl<A> Debug for Repeat<A> where
A: Debug,
[src]
impl<A> Debug for Repeat<A> where
A: Debug,
impl Debug for Any + 'static + Send
[src]
impl Debug for Any + 'static + Send
impl Debug for NonZeroU8
[src]
impl Debug for NonZeroU8
impl<'b, T> Debug for Ref<'b, T> where
T: Debug + ?Sized,
[src]
impl<'b, T> Debug for Ref<'b, T> where
T: Debug + ?Sized,
impl Debug for Any + 'static
[src]
impl Debug for Any + 'static
impl Debug for ParseFloatError
[src]
impl Debug for ParseFloatError
impl<I> Debug for DecodeUtf8<I> where
I: Iterator<Item = u8> + Debug,
[src]
impl<I> Debug for DecodeUtf8<I> where
I: Iterator<Item = u8> + Debug,
impl Debug for AtomicBool
[src]
impl Debug for AtomicBool
impl Debug for AtomicU16
[src]
impl Debug for AtomicU16
impl Debug for EscapeDefault
[src]
impl Debug for EscapeDefault
impl<T> Debug for Empty<T>
[src]
impl<T> Debug for Empty<T>
impl Debug for NonZeroU16
[src]
impl Debug for NonZeroU16
impl<A> Debug for IntoIter<A> where
A: Debug,
[src]
impl<A> Debug for IntoIter<A> where
A: Debug,
impl<T> Debug for Wrapping<T> where
T: Debug,
[src]
impl<T> Debug for Wrapping<T> where
T: Debug,
impl Debug for NonZeroU64
[src]
impl Debug for NonZeroU64
impl Debug for Ordering
[src]
impl Debug for Ordering
impl<T> Debug for PhantomData<T> where
T: ?Sized,
[src]
impl<T> Debug for PhantomData<T> where
T: ?Sized,
impl<I> Debug for Skip<I> where
I: Debug,
[src]
impl<I> Debug for Skip<I> where
I: Debug,
impl<Idx> Debug for Range<Idx> where
Idx: Debug,
[src]
impl<Idx> Debug for Range<Idx> where
Idx: Debug,
impl Debug for TryFromIntError
[src]
impl Debug for TryFromIntError
impl<I> Debug for Enumerate<I> where
I: Debug,
[src]
impl<I> Debug for Enumerate<I> where
I: Debug,
impl Debug for Ordering
[src]
impl Debug for Ordering
impl<T> Debug for RefCell<T> where
T: Debug + ?Sized,
[src]
impl<T> Debug for RefCell<T> where
T: Debug + ?Sized,
impl Debug for ToLowercase
[src]
impl Debug for ToLowercase
impl<I, P> Debug for TakeWhile<I, P> where
I: Debug,
[src]
impl<I, P> Debug for TakeWhile<I, P> where
I: Debug,
impl<T> Debug for Once<T> where
T: Debug,
[src]
impl<T> Debug for Once<T> where
T: Debug,
impl<I> Debug for Fuse<I> where
I: Debug,
[src]
impl<I> Debug for Fuse<I> where
I: Debug,
impl<I, U> Debug for Flatten<I> where
I: Iterator + Debug,
U: Iterator + Debug,
<I as Iterator>::Item: IntoIterator,
<<I as Iterator>::Item as IntoIterator>::IntoIter == U,
<<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item,
[src]
impl<I, U> Debug for Flatten<I> where
I: Iterator + Debug,
U: Iterator + Debug,
<I as Iterator>::Item: IntoIterator,
<<I as Iterator>::Item as IntoIterator>::IntoIter == U,
<<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item,
impl<I, U, F> Debug for FlatMap<I, U, F> where
I: Debug,
U: IntoIterator,
<U as IntoIterator>::IntoIter: Debug,
[src]
impl<I, U, F> Debug for FlatMap<I, U, F> where
I: Debug,
U: IntoIterator,
<U as IntoIterator>::IntoIter: Debug,
impl Debug for RangeFull
[src]
impl Debug for RangeFull
impl Debug for ToUppercase
[src]
impl Debug for ToUppercase
impl<I, P> Debug for SkipWhile<I, P> where
I: Debug,
[src]
impl<I, P> Debug for SkipWhile<I, P> where
I: Debug,
impl Debug for AtomicU64
[src]
impl Debug for AtomicU64
impl<'a, T> Debug for IterMut<'a, T> where
T: 'a + Debug,
[src]
impl<'a, T> Debug for IterMut<'a, T> where
T: 'a + Debug,
impl Debug for NoneError
[src]
impl Debug for NoneError
impl<T> Debug for Option<T> where
T: Debug,
[src]
impl<T> Debug for Option<T> where
T: Debug,
impl<'a, T> Debug for Iter<'a, T> where
T: 'a + Debug,
[src]
impl<'a, T> Debug for Iter<'a, T> where
T: 'a + Debug,
impl<Idx> Debug for RangeInclusive<Idx> where
Idx: Debug,
[src]
impl<Idx> Debug for RangeInclusive<Idx> where
Idx: Debug,
impl<'a, A> Debug for IterMut<'a, A> where
A: 'a + Debug,
[src]
impl<'a, A> Debug for IterMut<'a, A> where
A: 'a + Debug,
impl<T, E> Debug for Result<T, E> where
E: Debug,
T: Debug,
[src]
impl<T, E> Debug for Result<T, E> where
E: Debug,
T: Debug,
impl Debug for Utf8Lossy
[src]
impl Debug for Utf8Lossy
impl<I> Debug for Cloned<I> where
I: Debug,
[src]
impl<I> Debug for Cloned<I> where
I: Debug,
impl<H> Debug for BuildHasherDefault<H>
[src]
impl<H> Debug for BuildHasherDefault<H>
impl Debug for ParseIntError
[src]
impl Debug for ParseIntError
impl<T> Debug for NonNull<T> where
T: ?Sized,
[src]
impl<T> Debug for NonNull<T> where
T: ?Sized,
impl Debug for CharTryFromError
[src]
impl Debug for CharTryFromError
impl<I> Debug for Take<I> where
I: Debug,
[src]
impl<I> Debug for Take<I> where
I: Debug,
impl<Y, R> Debug for GeneratorState<Y, R> where
R: Debug,
Y: Debug,
[src]
impl<Y, R> Debug for GeneratorState<Y, R> where
R: Debug,
Y: Debug,
impl Debug for AtomicI16
[src]
impl Debug for AtomicI16
impl Debug for Any + 'static + Send + Sync
[src]
impl Debug for Any + 'static + Send + Sync
impl<Idx> Debug for RangeFrom<Idx> where
Idx: Debug,
[src]
impl<Idx> Debug for RangeFrom<Idx> where
Idx: Debug,
impl<T> Debug for Discriminant<T>
[src]
impl<T> Debug for Discriminant<T>
impl<I, F> Debug for FilterMap<I, F> where
I: Debug,
[src]
impl<I, F> Debug for FilterMap<I, F> where
I: Debug,
impl<I, P> Debug for Filter<I, P> where
I: Debug,
[src]
impl<I, P> Debug for Filter<I, P> where
I: Debug,
impl Debug for InvalidSequence
[src]
impl Debug for InvalidSequence
impl Debug for DecodeUtf16Error
[src]
impl Debug for DecodeUtf16Error
impl Debug for UnicodeVersion
[src]
impl Debug for UnicodeVersion
impl<'a> Debug for PanicInfo<'a>
[src]
impl<'a> Debug for PanicInfo<'a>
impl Debug for TypeId
[src]
impl Debug for TypeId
impl Debug for Pinned
[src]
impl Debug for Pinned
impl<I> Debug for DecodeUtf16<I> where
I: Debug + Iterator<Item = u16>,
[src]
impl<I> Debug for DecodeUtf16<I> where
I: Debug + Iterator<Item = u16>,
impl<I, F> Debug for Inspect<I, F> where
I: Debug,
[src]
impl<I, F> Debug for Inspect<I, F> where
I: Debug,
impl Debug for EscapeDefault
[src]
impl Debug for EscapeDefault
impl<I, St, F> Debug for Scan<I, St, F> where
I: Debug,
St: Debug,
[src]
impl<I, St, F> Debug for Scan<I, St, F> where
I: Debug,
St: Debug,
impl<'b, T> Debug for RefMut<'b, T> where
T: Debug + ?Sized,
[src]
impl<'b, T> Debug for RefMut<'b, T> where
T: Debug + ?Sized,
impl Debug for AtomicIsize
[src]
impl Debug for AtomicIsize
impl<T> Debug for IntoIter<T> where
T: Debug,
[src]
impl<T> Debug for IntoIter<T> where
T: Debug,
Implementors
impl<'a> Debug for Lines<'a>
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Debug for fn(A, B, C, D, E, F, G, H, I) -> Ret
impl<'a, T, P> Debug for alloc::slice::RSplitN<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<T> Debug for [T; 3] where
T: Debug,impl Debug for u16
impl<T> Debug for [T; 10] where
T: Debug,impl Debug for char
impl<Ret, A, B, C, D, E, F> Debug for unsafe extern "C" fn(A, B, C, D, E, F, ...) -> Ret
impl<Ret, A, B, C, D, E, F> Debug for extern "C" fn(A, B, C, D, E, F) -> Ret
impl<'a> Debug for Chars<'a>
impl<'a, T, P> Debug for alloc::slice::Split<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl Debug for i8
impl<'a, T> Debug for Chunks<'a, T> where
T: 'a + Debug,impl<T> Debug for [T; 7] where
T: Debug,impl<'a, T, P> Debug for alloc::slice::SplitN<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<'a, P> Debug for alloc::str::RSplit<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T1: Debug,
T10: Debug,
T11: Debug + ?Sized,
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,impl<'a, T> Debug for &'a mut T where
T: Debug + ?Sized,impl<Ret, A, B, C, D, E, F> Debug for unsafe fn(A, B, C, D, E, F) -> Ret
impl<'a, T, P> Debug for SplitNMut<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<Ret, A, B, C, D, E> Debug for extern "C" fn(A, B, C, D, E) -> Ret
impl Debug for !
impl Debug for SpawnObjError
impl<'a, T, P> Debug for SplitMut<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl Debug for u32
impl<T> Debug for [T; 21] where
T: Debug,impl<T> Debug for [T; 29] where
T: Debug,impl<'a, T> Debug for ExactChunksMut<'a, T> where
T: 'a + Debug,impl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret
impl<T> Debug for [T; 9] where
T: Debug,impl Debug for f32
impl<T> Debug for [T; 5] where
T: Debug,impl Debug for bool
impl<'a, P> Debug for alloc::str::Split<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl Debug for Utf8Error
impl<Ret, A, B, C> Debug for unsafe extern "C" fn(A, B, C, ...) -> Ret
impl<'a> Debug for LinesAny<'a>
impl<T9, T10, T11> Debug for (T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T9: Debug,impl<T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,impl<Ret, A, B, C, D> Debug for unsafe extern "C" fn(A, B, C, D) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret
impl<Ret, A, B, C, D, E, F, G, H> Debug for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
impl<'a> Debug for Arguments<'a>
impl<T> Debug for [T; 20] where
T: Debug,impl Debug for i16
impl Debug for SpawnErrorKind
impl<Ret, A> Debug for unsafe extern "C" fn(A, ...) -> Ret
impl<T> Debug for [T; 11] where
T: Debug,impl<Ret> Debug for extern "C" fn() -> Ret
impl<T> Debug for [T] where
T: Debug,impl<Ret, A, B, C, D, E, F, G, H> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
impl<Ret, A, B, C, D, E> Debug for extern "C" fn(A, B, C, D, E, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C, D, E, F> Debug for extern "C" fn(A, B, C, D, E, F, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<T> Debug for [T; 13] where
T: Debug,impl Debug for u8
impl<T> Debug for [T; 28] where
T: Debug,impl<T6, T7, T8, T9, T10, T11> Debug for (T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<'a, P> Debug for MatchIndices<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl Debug for isize
impl Debug for u64
impl<'a, T> Debug for alloc::slice::IterMut<'a, T> where
T: 'a + Debug,impl<'a> Debug for CharSearcher<'a>
impl<Ret, A, B, C, D, E, F, G> Debug for fn(A, B, C, D, E, F, G) -> Ret
impl<T11> Debug for (T11,) where
T11: Debug + ?Sized,impl<Ret, A, B, C, D, E> Debug for unsafe fn(A, B, C, D, E) -> Ret
impl<Ret, A, B, C, D, E> Debug for fn(A, B, C, D, E) -> Ret
impl<Ret, A, B, C, D> Debug for extern "C" fn(A, B, C, D) -> Ret
impl<Ret, A, B> Debug for unsafe extern "C" fn(A, B, ...) -> Ret
impl<T8, T9, T10, T11> Debug for (T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T8: Debug,
T9: Debug,impl<T> Debug for [T; 12] where
T: Debug,impl Debug for str
impl<T7, T8, T9, T10, T11> Debug for (T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T7: Debug,
T8: Debug,
T9: Debug,impl<T> Debug for [T; 25] where
T: Debug,impl<T> Debug for [T; 0] where
T: Debug,impl Debug for ParseBoolError
impl<'a, T, P> Debug for RSplitNMut<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<Ret, A, B, C, D, E, F, G, H> Debug for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
impl<'a, T> Debug for ExactChunks<'a, T> where
T: 'a + Debug,impl<'a, T> Debug for Windows<'a, T> where
T: 'a + Debug,impl<T> Debug for [T; 4] where
T: Debug,impl<T> Debug for [T; 14] where
T: Debug,impl<Ret, A> Debug for unsafe extern "C" fn(A) -> Ret
impl<Ret, A, B, C, D, E, F, G, H> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
impl<'a, P> Debug for alloc::str::SplitN<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<Ret, A, B, C, D, E, F> Debug for fn(A, B, C, D, E, F) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
impl<T> Debug for [T; 15] where
T: Debug,impl<Ret> Debug for fn() -> Ret
impl<Ret, A, B, C, D> Debug for unsafe extern "C" fn(A, B, C, D, ...) -> Ret
impl<Ret, A, B, C, D> Debug for fn(A, B, C, D) -> Ret
impl<Ret, A, B, C, D, E, F, G, H> Debug for unsafe fn(A, B, C, D, E, F, G, H) -> Ret
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T0: Debug,
T1: Debug,
T10: Debug,
T11: Debug + ?Sized,
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,impl Debug for f64
impl<T> Debug for [T; 30] where
T: Debug,impl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret
impl<T> Debug for [T; 26] where
T: Debug,impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>
impl<Ret, A, B> Debug for unsafe fn(A, B) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<T> Debug for *const T where
T: ?Sized,impl Debug for Waker
impl<T> Debug for [T; 24] where
T: Debug,impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
impl<Ret, A, B> Debug for extern "C" fn(A, B) -> Ret
impl<'a> Debug for Context<'a>
impl<'a, T, P> Debug for alloc::slice::RSplit<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<Ret, A, B, C, D, E, F, G, H> Debug for fn(A, B, C, D, E, F, G, H) -> Ret
impl<Ret, A, B, C> Debug for unsafe extern "C" fn(A, B, C) -> Ret
impl<T> Debug for [T; 22] where
T: Debug,impl<T> Debug for [T; 1] where
T: Debug,impl<'a, P> Debug for SplitTerminator<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
impl<'a> Debug for Bytes<'a>
impl<T10, T11> Debug for (T10, T11) where
T10: Debug,
T11: Debug + ?Sized,impl<Ret> Debug for unsafe fn() -> Ret
impl<'a, T, P> Debug for RSplitMut<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<T> Debug for [T; 19] where
T: Debug,impl<Ret, A, B, C, D, E, F, G, H, I> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
impl<Ret, A> Debug for extern "C" fn(A, ...) -> Ret
impl<'a, T> Debug for alloc::slice::Iter<'a, T> where
T: 'a + Debug,impl<T> Debug for [T; 32] where
T: Debug,impl<T> Debug for [T; 6] where
T: Debug,impl<Ret, A> Debug for unsafe fn(A) -> Ret
impl<'a, P> Debug for RMatchIndices<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<T> Debug for [T; 18] where
T: Debug,impl<T> Debug for [T; 2] where
T: Debug,impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<T> Debug for [T; 17] where
T: Debug,impl Debug for i64
impl<'a, 'b> Debug for StrSearcher<'a, 'b>
impl<Ret, A, B> Debug for extern "C" fn(A, B, ...) -> Ret
impl<Ret, A, B, C, D, E> Debug for unsafe extern "C" fn(A, B, C, D, E) -> Ret
impl<Ret, A, B> Debug for unsafe extern "C" fn(A, B) -> Ret
impl<T5, T6, T7, T8, T9, T10, T11> Debug for (T5, T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,impl<Ret, A, B, C> Debug for fn(A, B, C) -> Ret
impl Debug for usize
impl<Ret> Debug for unsafe extern "C" fn() -> Ret
impl<Ret, A, B, C, D, E, F, G> Debug for extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
impl<T> Debug for [T; 23] where
T: Debug,impl Debug for CannotReallocInPlace
impl<'a> Debug for SplitWhitespace<'a>
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl Debug for TaskObj
impl Debug for ()
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
impl<Ret, A, B, C, D, E, F> Debug for unsafe extern "C" fn(A, B, C, D, E, F) -> Ret
impl Debug for Error
impl<Ret, A> Debug for fn(A) -> Ret
impl<'a> Debug for CharIndices<'a>
impl Debug for u128
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret
impl<'a, P> Debug for alloc::str::RSplitN<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl Debug for LocalWaker
impl Debug for Alignment
impl<T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T4, T5, T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,impl<'a> Debug for EncodeUtf16<'a>
impl<T> Debug for [T; 27] where
T: Debug,impl Debug for CollectionAllocErr
impl<Ret, A, B, C, D, E, F, G> Debug for extern "C" fn(A, B, C, D, E, F, G) -> Ret
impl<Ret, A, B, C, D, E> Debug for unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G> Debug for unsafe fn(A, B, C, D, E, F, G) -> Ret
impl<T> Debug for [T; 16] where
T: Debug,impl<Ret, A, B, C, D> Debug for extern "C" fn(A, B, C, D, ...) -> Ret
impl<'a, P> Debug for RSplitTerminator<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
impl<T> Debug for [T; 8] where
T: Debug,impl<'a, T> Debug for &'a T where
T: Debug + ?Sized,impl<Ret, A, B, C> Debug for unsafe fn(A, B, C) -> Ret
impl<'a, T> Debug for ChunksMut<'a, T> where
T: 'a + Debug,impl<T> Debug for Poll<T> where
T: Debug,impl<'a, P> Debug for Matches<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<Ret, A> Debug for extern "C" fn(A) -> Ret
impl<Ret, A, B> Debug for fn(A, B) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl Debug for i128
impl Debug for LayoutErr
impl<T> Debug for [T; 31] where
T: Debug,impl<T> Debug for *mut T where
T: ?Sized,impl<'a, P> Debug for RMatches<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl Debug for AllocErr
impl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C> Debug for extern "C" fn(A, B, C, ...) -> Ret
impl Debug for SearchStep
impl<'a, F> Debug for CharPredicateSearcher<'a, F> where
F: FnMut(char) -> bool,impl<Ret, A, B, C> Debug for extern "C" fn(A, B, C) -> Ret
impl<Ret, A, B, C, D> Debug for unsafe fn(A, B, C, D) -> Ret
impl Debug for Layout
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl Debug for Excess
impl Debug for i32
impl<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,impl Debug for Global
impl<T: Debug + ?Sized> Debug for Box<T>
impl<T: Debug + ?Sized> Debug for PinBox<T>
impl<T: ?Sized + Debug> Debug for alloc::arc::Weak<T>
impl<T: ?Sized + Debug> Debug for Arc<T>
impl<T: ?Sized + Debug> Debug for Rc<T>
impl<T: ?Sized + Debug> Debug for alloc::rc::Weak<T>
impl<'a, T: Ord + Debug> Debug for PeekMut<'a, T>
impl<T: Debug + Ord> Debug for BinaryHeap<T>
impl<'a, T: 'a + Debug> Debug for alloc::binary_heap::Iter<'a, T>
impl<T: Debug> Debug for alloc::binary_heap::IntoIter<T>
impl<'a, T: Debug + 'a> Debug for alloc::binary_heap::Drain<'a, T>
impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for alloc::btree_map::Iter<'a, K, V>
impl<'a, K: Debug + 'a, V: Debug + 'a> Debug for alloc::btree_map::IterMut<'a, K, V>
impl<K: Debug, V: Debug> Debug for alloc::btree_map::IntoIter<K, V>
impl<'a, K: 'a + Debug, V: 'a> Debug for Keys<'a, K, V>
impl<'a, K: 'a, V: 'a + Debug> Debug for Values<'a, K, V>
impl<'a, K: Debug + 'a, V: Debug + 'a> Debug for ValuesMut<'a, K, V>
impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for alloc::btree_map::Range<'a, K, V>
impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for RangeMut<'a, K, V>
impl<'a, K: 'a + Debug + Ord, V: 'a + Debug> Debug for Entry<'a, K, V>
impl<'a, K: 'a + Debug + Ord, V: 'a> Debug for VacantEntry<'a, K, V>
impl<'a, K: 'a + Debug + Ord, V: 'a + Debug> Debug for OccupiedEntry<'a, K, V>
impl<K: Debug, V: Debug> Debug for BTreeMap<K, V>
impl<'a, T: 'a + Debug> Debug for alloc::btree_set::Iter<'a, T>
impl<T: Debug> Debug for alloc::btree_set::IntoIter<T>
impl<'a, T: Debug + 'a> Debug for alloc::btree_set::Range<'a, T>
impl<'a, T: 'a + Debug> Debug for Difference<'a, T>
impl<'a, T: 'a + Debug> Debug for SymmetricDifference<'a, T>
impl<'a, T: 'a + Debug> Debug for Intersection<'a, T>
impl<'a, T: 'a + Debug> Debug for Union<'a, T>
impl<T: Debug> Debug for BTreeSet<T>
impl<'a, B: ?Sized> Debug for Cow<'a, B> where
B: Debug + ToOwned,
<B as ToOwned>::Owned: Debug,impl<'a, T: 'a + Debug> Debug for alloc::linked_list::Iter<'a, T>
impl<'a, T: 'a + Debug> Debug for alloc::linked_list::IterMut<'a, T>
impl<T: Debug> Debug for alloc::linked_list::IntoIter<T>
impl<'a, T: 'a + Debug, F> Debug for alloc::linked_list::DrainFilter<'a, T, F> where
F: FnMut(&mut T) -> bool,impl<T: Debug> Debug for LinkedList<T>
impl Debug for FromUtf8Error
impl Debug for FromUtf16Error
impl Debug for String
impl Debug for ParseError
impl<'a> Debug for alloc::string::Drain<'a>
impl<T: Debug> Debug for Vec<T>
impl<T: Debug> Debug for alloc::vec::IntoIter<T>
impl<'a, T: 'a + Debug> Debug for alloc::vec::Drain<'a, T>
impl<'a, I: Debug + Iterator + 'a> Debug for Splice<'a, I> where
I::Item: Debug,impl<'a, T: Debug + 'a, F: Debug> Debug for alloc::vec::DrainFilter<'a, T, F> where
F: FnMut(&mut T) -> bool,impl<'a, T: 'a + Debug> Debug for alloc::vec_deque::Iter<'a, T>
impl<'a, T: 'a + Debug> Debug for alloc::vec_deque::IterMut<'a, T>
impl<T: Debug> Debug for alloc::vec_deque::IntoIter<T>
impl<'a, T: 'a + Debug> Debug for alloc::vec_deque::Drain<'a, T>
impl<T: Debug> Debug for VecDeque<T>