collections::fmt::Debug

Trait collections::fmt::Debug

#[lang = "debug_trait"]
pub trait Debug {
    fn fmt(&self, f: &mut Formatter) -> Result<(), Error>;
}

Format trait for the ? character.

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

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

Formats the value using the given formatter.

Implementors

  • impl Debug for DecodeUtf16Error
  • impl<T> Debug for Wrapping<T> where
        T: Debug
  • impl<T> Debug for Discriminant<T>
  • impl<T> Debug for ManuallyDrop<T> where
        T: Debug
  • impl Debug for RangeFull
  • impl<Idx> Debug for core::ops::Range<Idx> where
        Idx: Debug
  • impl<Idx> Debug for RangeFrom<Idx> where
        Idx: Debug
  • impl<Idx> Debug for RangeTo<Idx> where
        Idx: Debug
  • impl<Idx> Debug for RangeInclusive<Idx> where
        Idx: Debug
  • impl<Idx> Debug for RangeToInclusive<Idx> where
        Idx: Debug
  • impl Debug for Any + 'static
  • impl Debug for Any + 'static + Send
  • impl Debug for AtomicBool
  • impl<T> Debug for AtomicPtr<T>
  • impl Debug for BorrowError
  • impl Debug for BorrowMutError
  • impl<T> Debug for Empty<T>
  • impl<I, F> Debug for Map<I, F> where
        I: Debug
  • impl<I, P> Debug for Filter<I, P> where
        I: Debug
  • impl<I, F> Debug for FilterMap<I, F> where
        I: Debug
  • impl<I, P> Debug for SkipWhile<I, P> where
        I: Debug
  • impl<I, P> Debug for TakeWhile<I, P> where
        I: Debug
  • impl<I, St, F> Debug for Scan<I, St, F> where
        I: Debug,
        St: Debug
  • impl<I, U, F> Debug for FlatMap<I, U, F> where
        I: Debug,
        U: IntoIterator,
        <U as IntoIterator>::IntoIter: Debug
  • impl<I, F> Debug for Inspect<I, F> where
        I: Debug
  • impl<'a, T> Debug for collections::slice::Iter<'a, T> where
        T: 'a + Debug
  • impl<'a, T> Debug for collections::slice::IterMut<'a, T> where
        T: 'a + Debug
  • impl<'a, T, P> Debug for collections::slice::Split<'a, T, P> where
        P: FnMut(&T) -> bool,
        T: 'a + Debug
  • impl<'a, T, P> Debug for SplitMut<'a, T, P> where
        P: FnMut(&T) -> bool,
        T: 'a + Debug
  • impl<'a, T, P> Debug for collections::slice::RSplit<'a, T, P> where
        P: FnMut(&T) -> bool,
        T: 'a + Debug
  • impl<'a, T, P> Debug for RSplitMut<'a, T, P> where
        P: FnMut(&T) -> bool,
        T: 'a + Debug
  • impl<'a, T, P> Debug for collections::slice::SplitN<'a, T, P> where
        P: FnMut(&T) -> bool,
        T: 'a + Debug
  • impl<'a, T, P> Debug for collections::slice::RSplitN<'a, T, P> where
        P: FnMut(&T) -> bool,
        T: 'a + Debug
  • impl<'a, T, P> Debug for SplitNMut<'a, T, P> where
        P: FnMut(&T) -> bool,
        T: 'a + Debug
  • impl<'a, T, P> Debug for RSplitNMut<'a, T, P> where
        P: FnMut(&T) -> bool,
        T: 'a + Debug
  • impl<'a, F> Debug for CharPredicateSearcher<'a, F> where
        F: FnMut(char) -> bool, 
  • impl<H> Debug for BuildHasherDefault<H>
  • impl<'a> Debug for Arguments<'a>
  • impl Debug for !
  • impl Debug for bool
  • impl Debug for str
  • impl Debug for char
  • impl<T> Debug for *const T where
        T: ?Sized
  • impl<T> Debug for *mut T where
        T: ?Sized
  • impl<T> Debug for [T] where
        T: Debug
  • impl Debug for ()
  • impl<T> Debug for PhantomData<T> where
        T: ?Sized
  • impl<T> Debug for Cell<T> where
        T: Copy + Debug
  • impl<T> Debug for RefCell<T> where
        T: Debug + ?Sized
  • impl<'b, T> Debug for Ref<'b, T> where
        T: Debug + ?Sized
  • impl<'b, T> Debug for RefMut<'b, T> where
        T: Debug + ?Sized
  • impl<T> Debug for UnsafeCell<T> where
        T: Debug + ?Sized
  • impl Debug for ParseFloatError
  • impl Debug for FpCategory
  • impl Debug for TryFromIntError
  • impl Debug for ParseIntError
  • impl<T> Debug for NonZero<T> where
        T: Zeroable + Debug
  • impl<Ret> Debug for fn() -> Ret
  • impl<Ret> Debug for extern fn() -> Ret
  • impl<Ret> Debug for unsafe fn() -> Ret
  • impl<Ret> Debug for unsafe extern fn() -> Ret
  • impl<Ret, A> Debug for fn(A) -> Ret
  • impl<Ret, A> Debug for extern fn(A) -> Ret
  • impl<Ret, A> Debug for extern fn(A, ...) -> Ret
  • impl<Ret, A> Debug for unsafe fn(A) -> Ret
  • impl<Ret, A> Debug for unsafe extern fn(A) -> Ret
  • impl<Ret, A> Debug for unsafe extern fn(A, ...) -> Ret
  • impl<Ret, A, B> Debug for fn(A, B) -> Ret
  • impl<Ret, A, B> Debug for extern fn(A, B) -> Ret
  • impl<Ret, A, B> Debug for extern fn(A, B, ...) -> Ret
  • impl<Ret, A, B> Debug for unsafe fn(A, B) -> Ret
  • impl<Ret, A, B> Debug for unsafe extern fn(A, B) -> Ret
  • impl<Ret, A, B> Debug for unsafe extern fn(A, B, ...) -> Ret
  • impl<Ret, A, B, C> Debug for fn(A, B, C) -> Ret
  • impl<Ret, A, B, C> Debug for extern fn(A, B, C) -> Ret
  • impl<Ret, A, B, C> Debug for extern fn(A, B, C, ...) -> Ret
  • impl<Ret, A, B, C> Debug for unsafe fn(A, B, C) -> Ret
  • impl<Ret, A, B, C> Debug for unsafe extern fn(A, B, C) -> Ret
  • impl<Ret, A, B, C> Debug for unsafe extern fn(A, B, C, ...) -> Ret
  • impl<Ret, A, B, C, D> Debug for fn(A, B, C, D) -> Ret
  • impl<Ret, A, B, C, D> Debug for extern fn(A, B, C, D) -> Ret
  • impl<Ret, A, B, C, D> Debug for extern fn(A, B, C, D, ...) -> Ret
  • impl<Ret, A, B, C, D> Debug for unsafe fn(A, B, C, D) -> Ret
  • impl<Ret, A, B, C, D> Debug for unsafe extern fn(A, B, C, D) -> Ret
  • impl<Ret, A, B, C, D> Debug for unsafe extern fn(A, B, C, D, ...) -> Ret
  • impl<Ret, A, B, C, D, E> Debug for fn(A, B, C, D, E) -> Ret
  • impl<Ret, A, B, C, D, E> Debug for extern fn(A, B, C, D, E) -> Ret
  • impl<Ret, A, B, C, D, E> Debug for extern fn(A, B, C, D, E, ...) -> Ret
  • 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 unsafe extern fn(A, B, C, D, E) -> Ret
  • impl<Ret, A, B, C, D, E> Debug for unsafe extern fn(A, B, C, D, E, ...) -> Ret
  • 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> Debug for extern fn(A, B, C, D, E, F) -> Ret
  • impl<Ret, A, B, C, D, E, F> Debug for extern fn(A, B, C, D, E, F, ...) -> Ret
  • impl<Ret, A, B, C, D, E, F> Debug for unsafe fn(A, B, C, D, E, F) -> Ret
  • impl<Ret, A, B, C, D, E, F> Debug for unsafe extern fn(A, B, C, D, E, F) -> Ret
  • impl<Ret, A, B, C, D, E, F> Debug for unsafe extern fn(A, B, C, D, E, F, ...) -> Ret
  • impl<Ret, A, B, C, D, E, F, G> Debug for fn(A, B, C, D, E, F, G) -> Ret
  • impl<Ret, A, B, C, D, E, F, G> Debug for extern fn(A, B, C, D, E, F, G) -> Ret
  • impl<Ret, A, B, C, D, E, F, G> Debug for extern fn(A, B, C, D, E, F, G, ...) -> Ret
  • impl<Ret, A, B, C, D, E, F, G> Debug for unsafe fn(A, B, C, D, E, F, G) -> Ret
  • impl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern fn(A, B, C, D, E, F, G) -> Ret
  • impl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern fn(A, B, C, D, E, F, G, ...) -> Ret
  • 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, D, E, F, G, H> Debug for extern fn(A, B, C, D, E, F, G, H) -> Ret
  • impl<Ret, A, B, C, D, E, F, G, H> Debug for extern fn(A, B, C, D, E, F, G, H, ...) -> 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<Ret, A, B, C, D, E, F, G, H> Debug for unsafe extern fn(A, B, C, D, E, F, G, H) -> Ret
  • impl<Ret, A, B, C, D, E, F, G, H> Debug for unsafe extern fn(A, B, C, D, E, F, G, H, ...) -> 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<Ret, A, B, C, D, E, F, G, H, I> Debug for extern fn(A, B, C, D, E, F, G, H, I) -> Ret
  • impl<Ret, A, B, C, D, E, F, G, H, I> Debug for extern fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
  • 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<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe extern fn(A, B, C, D, E, F, G, H, I) -> Ret
  • impl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe extern fn(A, B, C, D, E, F, G, H, I, ...) -> 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, G, H, I, J> Debug for extern fn(A, B, C, D, E, F, G, H, I, J) -> Ret
  • impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for extern fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
  • 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, J> Debug for unsafe extern fn(A, B, C, D, E, F, G, H, I, J) -> Ret
  • impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for unsafe extern 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> Debug for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
  • impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for extern fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
  • impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for extern fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> 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<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe extern fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
  • impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe extern fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
  • 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, K, L> Debug for extern 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, K, L> Debug for extern 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, K, L> Debug for unsafe 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, K, L> Debug for unsafe extern 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, K, L> Debug for unsafe extern fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
  • impl Debug for core::cmp::Ordering
  • impl<T> Debug for Reverse<T> where
        T: Debug
  • impl Debug for TypeId
  • impl<T> Debug for [T; 0] where
        T: Debug
  • impl<T> Debug for [T; 1] where
        T: Debug
  • impl<T> Debug for [T; 2] where
        T: Debug
  • impl<T> Debug for [T; 3] where
        T: Debug
  • impl<T> Debug for [T; 4] where
        T: Debug
  • impl<T> Debug for [T; 5] where
        T: Debug
  • impl<T> Debug for [T; 6] where
        T: Debug
  • impl<T> Debug for [T; 7] where
        T: Debug
  • impl<T> Debug for [T; 8] where
        T: Debug
  • impl<T> Debug for [T; 9] where
        T: Debug
  • impl<T> Debug for [T; 10] where
        T: Debug
  • impl<T> Debug for [T; 11] where
        T: Debug
  • impl<T> Debug for [T; 12] where
        T: Debug
  • impl<T> Debug for [T; 13] where
        T: Debug
  • impl<T> Debug for [T; 14] where
        T: Debug
  • impl<T> Debug for [T; 15] where
        T: Debug
  • impl<T> Debug for [T; 16] where
        T: Debug
  • impl<T> Debug for [T; 17] where
        T: Debug
  • impl<T> Debug for [T; 18] where
        T: Debug
  • impl<T> Debug for [T; 19] where
        T: Debug
  • impl<T> Debug for [T; 20] where
        T: Debug
  • impl<T> Debug for [T; 21] where
        T: Debug
  • impl<T> Debug for [T; 22] where
        T: Debug
  • impl<T> Debug for [T; 23] where
        T: Debug
  • impl<T> Debug for [T; 24] where
        T: Debug
  • impl<T> Debug for [T; 25] where
        T: Debug
  • impl<T> Debug for [T; 26] where
        T: Debug
  • impl<T> Debug for [T; 27] where
        T: Debug
  • impl<T> Debug for [T; 28] where
        T: Debug
  • impl<T> Debug for [T; 29] where
        T: Debug
  • impl<T> Debug for [T; 30] where
        T: Debug
  • impl<T> Debug for [T; 31] where
        T: Debug
  • impl<T> Debug for [T; 32] where
        T: Debug
  • impl Debug for core::sync::atomic::Ordering
  • impl Debug for AtomicI8
  • impl Debug for AtomicU8
  • impl Debug for AtomicI16
  • impl Debug for AtomicU16
  • impl Debug for AtomicI32
  • impl Debug for AtomicU32
  • impl Debug for AtomicI64
  • impl Debug for AtomicU64
  • impl Debug for AtomicIsize
  • impl Debug for AtomicUsize
  • impl Debug for CharTryFromError
  • impl Debug for EscapeUnicode
  • impl Debug for EscapeDefault
  • impl Debug for EscapeDebug
  • impl<I> Debug for DecodeUtf8<I> where
        I: Iterator<Item = u8> + Debug
  • impl Debug for InvalidSequence
  • impl<A, R> Debug for StepBy<A, R> where
        A: Debug,
        R: Debug
  • impl<A> Debug for Repeat<A> where
        A: Debug
  • impl<T> Debug for Once<T> where
        T: Debug
  • impl<T> Debug for Rev<T> where
        T: Debug
  • impl<I> Debug for Cloned<I> where
        I: Debug
  • impl<I> Debug for Cycle<I> where
        I: Debug
  • impl<A, B> Debug for Chain<A, B> where
        A: Debug,
        B: Debug
  • impl<A, B> Debug for Zip<A, B> where
        A: Debug,
        B: Debug
  • impl<I> Debug for Enumerate<I> where
        I: Debug
  • impl<I> Debug for Peekable<I> where
        I: Iterator + Debug,
        <I as Iterator>::Item: Debug
  • impl<I> Debug for Skip<I> where
        I: Debug
  • impl<I> Debug for Take<I> where
        I: Debug
  • impl<I> Debug for Fuse<I> where
        I: Debug
  • impl<T> Debug for Option<T> where
        T: Debug
  • impl<'a, A> Debug for core::option::Iter<'a, A> where
        A: 'a + Debug
  • impl<'a, A> Debug for core::option::IterMut<'a, A> where
        A: 'a + Debug
  • impl<A> Debug for core::option::IntoIter<A> where
        A: Debug
  • impl<T, E> Debug for Result<T, E> where
        E: Debug,
        T: Debug
  • impl<'a, T> Debug for core::result::Iter<'a, T> where
        T: 'a + Debug
  • impl<'a, T> Debug for core::result::IterMut<'a, T> where
        T: 'a + Debug
  • impl<T> Debug for core::result::IntoIter<T> where
        T: Debug
  • impl<'a, T> Debug for Windows<'a, T> where
        T: 'a + Debug
  • impl<'a, T> Debug for Chunks<'a, T> where
        T: 'a + Debug
  • impl<'a, T> Debug for ChunksMut<'a, T> where
        T: 'a + Debug
  • impl Debug for SearchStep
  • impl<'a> Debug for CharSearcher<'a>
  • impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>
  • impl<'a, 'b> Debug for StrSearcher<'a, 'b>
  • impl Debug for ParseBoolError
  • impl Debug for Utf8Error
  • impl<'a> Debug for Chars<'a>
  • impl<'a> Debug for CharIndices<'a>
  • impl<'a> Debug for Bytes<'a>
  • impl<'a, P> Debug for collections::str::Split<'a, P> where
        P: Pattern<'a>,
        <P as Pattern<'a>>::Searcher: Debug
  • impl<'a, P> Debug for collections::str::RSplit<'a, P> where
        P: Pattern<'a>,
        <P as Pattern<'a>>::Searcher: Debug
  • impl<'a, P> Debug for SplitTerminator<'a, P> where
        P: Pattern<'a>,
        <P as Pattern<'a>>::Searcher: Debug
  • impl<'a, P> Debug for RSplitTerminator<'a, P> where
        P: Pattern<'a>,
        <P as Pattern<'a>>::Searcher: Debug
  • impl<'a, P> Debug for collections::str::SplitN<'a, P> where
        P: Pattern<'a>,
        <P as Pattern<'a>>::Searcher: Debug
  • impl<'a, P> Debug for collections::str::RSplitN<'a, P> where
        P: Pattern<'a>,
        <P as Pattern<'a>>::Searcher: Debug
  • impl<'a, P> Debug for MatchIndices<'a, P> where
        P: Pattern<'a>,
        <P as Pattern<'a>>::Searcher: Debug
  • impl<'a, P> Debug for RMatchIndices<'a, P> where
        P: Pattern<'a>,
        <P as Pattern<'a>>::Searcher: Debug
  • impl<'a, P> Debug for Matches<'a, P> where
        P: Pattern<'a>,
        <P as Pattern<'a>>::Searcher: Debug
  • impl<'a, P> Debug for RMatches<'a, P> where
        P: Pattern<'a>,
        <P as Pattern<'a>>::Searcher: Debug
  • impl<'a> Debug for Lines<'a>
  • impl<'a> Debug for LinesAny<'a>
  • impl Debug for SipHasher13
  • impl Debug for SipHasher24
  • impl Debug for SipHasher
  • impl Debug for f32
  • impl Debug for f64
  • impl Debug for isize
  • impl Debug for usize
  • impl Debug for i8
  • impl Debug for u8
  • impl Debug for i16
  • impl Debug for u16
  • impl Debug for i32
  • impl Debug for u32
  • impl Debug for i64
  • impl Debug for u64
  • impl Debug for i128
  • impl Debug for u128
  • impl Debug for Alignment
  • impl Debug for Error
  • impl<'a, T> Debug for &'a T where
        T: Debug + ?Sized
  • impl<'a, T> Debug for &'a mut T where
        T: Debug + ?Sized
  • 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,
        T2: Debug,
        T3: Debug,
        T4: Debug,
        T5: Debug,
        T6: Debug,
        T7: Debug,
        T8: Debug,
        T9: 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,
        T2: Debug,
        T3: Debug,
        T4: Debug,
        T5: Debug,
        T6: Debug,
        T7: Debug,
        T8: Debug,
        T9: Debug
  • 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,
        T2: Debug,
        T3: Debug,
        T4: Debug,
        T5: Debug,
        T6: Debug,
        T7: Debug,
        T8: Debug,
        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,
        T3: Debug,
        T4: Debug,
        T5: Debug,
        T6: Debug,
        T7: Debug,
        T8: Debug,
        T9: Debug
  • impl<T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T4, T5, T6, T7, T8, T9, T10, T11) where
        T10: Debug,
        T11: Debug,
        T4: Debug,
        T5: Debug,
        T6: Debug,
        T7: Debug,
        T8: Debug,
        T9: Debug
  • impl<T5, T6, T7, T8, T9, T10, T11> Debug for (T5, T6, T7, T8, T9, T10, T11) where
        T10: Debug,
        T11: Debug,
        T5: Debug,
        T6: Debug,
        T7: Debug,
        T8: Debug,
        T9: Debug
  • impl<T6, T7, T8, T9, T10, T11> Debug for (T6, T7, T8, T9, T10, T11) where
        T10: Debug,
        T11: Debug,
        T6: Debug,
        T7: Debug,
        T8: Debug,
        T9: Debug
  • impl<T7, T8, T9, T10, T11> Debug for (T7, T8, T9, T10, T11) where
        T10: Debug,
        T11: Debug,
        T7: Debug,
        T8: Debug,
        T9: Debug
  • impl<T8, T9, T10, T11> Debug for (T8, T9, T10, T11) where
        T10: Debug,
        T11: Debug,
        T8: Debug,
        T9: Debug
  • impl<T9, T10, T11> Debug for (T9, T10, T11) where
        T10: Debug,
        T11: Debug,
        T9: Debug
  • impl<T10, T11> Debug for (T10, T11) where
        T10: Debug,
        T11: Debug
  • impl<T11> Debug for (T11,) where
        T11: Debug
  • impl<T> Debug for Box<T> where
        T: Debug + ?Sized
  • impl<T> Debug for alloc::arc::Weak<T> where
        T: Debug + ?Sized
  • impl<T> Debug for Arc<T> where
        T: Debug + ?Sized
  • impl<T> Debug for Rc<T> where
        T: Debug + ?Sized
  • impl<T> Debug for alloc::rc::Weak<T> where
        T: Debug + ?Sized
  • 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 collections::binary_heap::Iter<'a, T>
  • impl<T: Debug> Debug for collections::binary_heap::IntoIter<T>
  • impl<'a, T: Debug + 'a> Debug for collections::binary_heap::Drain<'a, T>
  • impl<'a, T: Clone + Ord + Debug> Debug for BinaryHeapPlace<'a, T>
  • impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for collections::btree_map::Iter<'a, K, V>
  • impl<'a, K: Debug + 'a, V: Debug + 'a> Debug for collections::btree_map::IterMut<'a, K, V>
  • impl<K: Debug, V: Debug> Debug for collections::btree_map::IntoIter<K, V>
  • impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for Keys<'a, K, V>
  • impl<'a, K: 'a + Debug, 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 collections::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 collections::btree_set::Iter<'a, T>
  • impl<T: Debug> Debug for collections::btree_set::IntoIter<T>
  • impl<'a, T: Debug + 'a> Debug for collections::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 collections::linked_list::Iter<'a, T>
  • impl<'a, T: 'a + Debug> Debug for collections::linked_list::IterMut<'a, T>
  • impl<T: Debug> Debug for collections::linked_list::IntoIter<T>
  • impl<T: Debug> Debug for LinkedList<T>
  • impl<'a, T: 'a + Debug> Debug for FrontPlace<'a, T>
  • impl<'a, T: 'a + Debug> Debug for BackPlace<'a, T>
  • impl<'a> Debug for EncodeUtf16<'a>
  • impl Debug for FromUtf8Error
  • impl Debug for FromUtf16Error
  • impl Debug for String
  • impl Debug for ParseError
  • impl<'a> Debug for collections::string::Drain<'a>
  • impl<T: Debug> Debug for Vec<T>
  • impl<T: Debug> Debug for collections::vec::IntoIter<T>
  • impl<'a, T: 'a + Debug> Debug for collections::vec::Drain<'a, T>
  • impl<'a, T: Debug + 'a> Debug for collections::vec::PlaceBack<'a, T>
  • impl<'a, T: 'a + Debug> Debug for collections::vec_deque::Iter<'a, T>
  • impl<'a, T: 'a + Debug> Debug for collections::vec_deque::IterMut<'a, T>
  • impl<T: Debug> Debug for collections::vec_deque::IntoIter<T>
  • impl<'a, T: 'a + Debug> Debug for collections::vec_deque::Drain<'a, T>
  • impl<T: Debug> Debug for VecDeque<T>
  • impl<'a, T: Debug + 'a> Debug for collections::vec_deque::PlaceBack<'a, T>
  • impl<'a, T: Debug + 'a> Debug for PlaceFront<'a, T>
  • impl<T: Debug> Debug for Bound<T>

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/collections/fmt/trait.Debug.html

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部