W3cubDocs

/Rust

Trait std::fmt::Debug

pub trait Debug {
    fn fmt(&self, &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<X> Debug for rand::distributions::range::Range<X> where X: Debug
  • impl Debug for Gamma
  • impl Debug for ChiSquared
  • impl Debug for FisherF
  • impl Debug for StudentT
  • impl Debug for StandardNormal
  • impl Debug for Normal
  • impl Debug for LogNormal
  • impl Debug for Exp1
  • impl Debug for Exp
  • impl<Sup> Debug for RandSample<Sup>
  • impl<T> Debug for Weighted<T> where T: Debug
  • impl<'a, T> Debug for WeightedChoice<'a, T> where T: Debug
  • impl Debug for IsaacRng
  • impl Debug for Isaac64Rng
  • impl Debug for ChaChaRng
  • impl<R, Rsdr> Debug for ReseedingRng<R, Rsdr> where R: Debug, Rsdr: Debug
  • impl<'a, T, R> Debug for Generator<'a, T, R> where R: Debug
  • impl<'a, R> Debug for AsciiGenerator<'a, R> where R: Debug
  • impl<F> Debug for Open01<F> where F: Debug
  • impl<F> Debug for Closed01<F> where F: Debug
  • impl Debug for ReseedWithDefault
  • impl Debug for XorShiftRng
  • impl<T> Debug for BinaryHeap<T> where T: Ord + Debug
  • impl<'a, K, V> Debug for std::collections::btree_map::Entry<'a, K, V> where K: 'a + Ord + Debug,
            V: 'a + Debug
  • impl<'a, K, V> Debug for std::collections::btree_map::VacantEntry<'a, K, V> where K: 'a + Ord + Debug, V: 'a
  • impl<'a, K, V> Debug for std::collections::btree_map::OccupiedEntry<'a, K, V> where K: 'a + Ord + Debug,
            V: 'a + Debug
  • impl<K, V> Debug for BTreeMap<K, V> where K: Debug, V: Debug
  • impl<T> Debug for BTreeSet<T> where T: Debug
  • impl<'a, B> Debug for Cow<'a, B> where B: Debug + ToOwned + ?Sized,
            B::Owned: Debug
  • impl<E> Debug for EnumSet<E> where E: CLike + Debug
  • impl<T> Debug for LinkedList<T> where T: Debug
  • impl Debug for String
  • impl Debug for ParseError
  • impl<T> Debug for Vec<T> where T: Debug
  • impl<T> Debug for std::vec::IntoIter<T> where T: Debug
  • impl<T> Debug for VecDeque<T> where T: Debug
  • impl Debug for FromUtf8Error
  • impl Debug for FromUtf16Error
  • impl<T> Debug for Bound<T> where T: Debug
  • impl<T> Debug for Box<T> where T: Debug + ?Sized
  • impl<T> Debug for std::sync::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 std::rc::Weak<T> where T: Debug + ?Sized
  • impl<T> Debug for Wrapping<T> where T: Debug
  • impl<T> Debug for Discriminant<T>
  • impl Debug for RangeFull
  • impl<Idx> Debug for std::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 std::any::Any + 'static
  • impl Debug for std::any::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 std::iter::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::IntoIter: Debug
  • impl<I, F> Debug for Inspect<I, F> where I: Debug
  • impl<'a, T> Debug for std::slice::Iter<'a, T> where T: 'a + Debug
  • impl<'a, T> Debug for std::slice::IterMut<'a, T> where T: 'a + Debug
  • impl<'a, T, P> Debug for std::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 std::slice::SplitN<'a, T, P> where P: FnMut(&T) -> bool,
            T: 'a + Debug
  • impl<'a, T, P> Debug for std::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 std::cmp::Ordering
  • 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 std::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 BorrowState
  • impl Debug for CharTryFromError
  • impl Debug for EscapeUnicode
  • impl Debug for std::char::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 std::iter::Repeat<A> where A: Debug
  • impl<T> Debug for std::iter::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 std::iter::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::Item: Debug
  • impl<I> Debug for Skip<I> where I: Debug
  • impl<I> Debug for std::iter::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 std::option::Iter<'a, A> where A: 'a + Debug
  • impl<'a, A> Debug for std::option::IterMut<'a, A> where A: 'a + Debug
  • impl<A> Debug for std::option::IntoIter<A> where A: Debug
  • impl<T, E> Debug for Result<T, E> where E: Debug, T: Debug
  • impl<'a, T> Debug for std::result::Iter<'a, T> where T: 'a + Debug
  • impl<'a, T> Debug for std::result::IterMut<'a, T> where T: 'a + Debug
  • impl<T> Debug for std::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 std::str::Chars<'a>
  • impl<'a> Debug for CharIndices<'a>
  • impl<'a> Debug for std::str::Bytes<'a>
  • impl<'a, P> Debug for std::str::Split<'a, P> where P: Pattern<'a>, P::Searcher: Debug
  • impl<'a, P> Debug for RSplit<'a, P> where P: Pattern<'a>, P::Searcher: Debug
  • impl<'a, P> Debug for SplitTerminator<'a, P> where P: Pattern<'a>,
            P::Searcher: Debug
  • impl<'a, P> Debug for RSplitTerminator<'a, P> where P: Pattern<'a>,
            P::Searcher: Debug
  • impl<'a, P> Debug for std::str::SplitN<'a, P> where P: Pattern<'a>, P::Searcher: Debug
  • impl<'a, P> Debug for std::str::RSplitN<'a, P> where P: Pattern<'a>, P::Searcher: Debug
  • impl<'a, P> Debug for MatchIndices<'a, P> where P: Pattern<'a>,
            P::Searcher: Debug
  • impl<'a, P> Debug for RMatchIndices<'a, P> where P: Pattern<'a>,
            P::Searcher: Debug
  • impl<'a, P> Debug for Matches<'a, P> where P: Pattern<'a>, P::Searcher: Debug
  • impl<'a, P> Debug for RMatches<'a, P> where P: Pattern<'a>, P::Searcher: Debug
  • impl<'a> Debug for std::str::Lines<'a>
  • impl<'a> Debug for LinesAny<'a>
  • impl Debug for SipHasher13
  • impl Debug for SipHasher24
  • impl Debug for SipHasher
  • impl Debug for Alignment
  • 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 std::fmt::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 Debug for f32
  • impl Debug for f64
  • 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 Debug for DecodeUtf16Error
  • impl<T: 'static> Debug for LocalKey<T>
  • impl Debug for LocalKeyState
  • impl Debug for Builder
  • impl Debug for ThreadId
  • impl Debug for Thread
  • impl<T> Debug for JoinHandle<T>
  • impl Debug for std::ascii::EscapeDefault
  • impl<K, V, S> Debug for HashMap<K, V, S> where K: Eq + Hash + Debug,
            V: Debug,
            S: BuildHasher
  • impl<'a, K: Debug, V: Debug> Debug for std::collections::hash_map::Iter<'a, K, V>
  • impl<'a, K: Debug, V: Debug> Debug for Keys<'a, K, V>
  • impl<'a, K: Debug, V: Debug> Debug for Values<'a, K, V>
  • impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for std::collections::hash_map::Entry<'a, K, V>
  • impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for std::collections::hash_map::OccupiedEntry<'a, K, V>
  • impl<'a, K: 'a + Debug, V: 'a> Debug for std::collections::hash_map::VacantEntry<'a, K, V>
  • impl<'a, K, V> Debug for std::collections::hash_map::IterMut<'a, K, V> where K: Debug, V: Debug
  • impl<K: Debug, V: Debug> Debug for std::collections::hash_map::IntoIter<K, V>
  • impl<'a, K, V> Debug for ValuesMut<'a, K, V> where K: Debug, V: Debug
  • impl<'a, K, V> Debug for std::collections::hash_map::Drain<'a, K, V> where K: Debug, V: Debug
  • impl Debug for DefaultHasher
  • impl Debug for RandomState
  • impl<T, S> Debug for HashSet<T, S> where T: Eq + Hash + Debug, S: BuildHasher
  • impl<'a, K: Debug> Debug for std::collections::hash_set::Iter<'a, K>
  • impl<K: Debug> Debug for std::collections::hash_set::IntoIter<K>
  • impl<'a, K: Debug> Debug for std::collections::hash_set::Drain<'a, K>
  • impl<'a, T, S> Debug for Intersection<'a, T, S> where T: Debug + Eq + Hash,
            S: BuildHasher
  • impl<'a, T, S> Debug for Difference<'a, T, S> where T: Debug + Eq + Hash,
            S: BuildHasher
  • impl<'a, T, S> Debug for SymmetricDifference<'a, T, S> where T: Debug + Eq + Hash,
            S: BuildHasher
  • impl<'a, T, S> Debug for Union<'a, T, S> where T: Debug + Eq + Hash,
            S: BuildHasher
  • impl Debug for Vars
  • impl Debug for VarsOs
  • impl Debug for VarError
  • impl<'a> Debug for SplitPaths<'a>
  • impl Debug for JoinPathsError
  • impl Debug for Args
  • impl Debug for ArgsOs
  • impl Debug for NulError
  • impl Debug for FromBytesWithNulError
  • impl Debug for IntoStringError
  • impl Debug for CString
  • impl Debug for CStr
  • impl Debug for OsString
  • impl Debug for OsStr
  • impl Debug for ReadDir
  • impl Debug for OpenOptions
  • impl Debug for Permissions
  • impl Debug for FileType
  • impl Debug for DirBuilder
  • impl Debug for File
  • impl Debug for Metadata
  • impl Debug for DirEntry
  • impl<R> Debug for BufReader<R> where R: Debug
  • impl<W: Debug> Debug for IntoInnerError<W>
  • impl<W: Write> Debug for BufWriter<W> where W: Debug
  • impl<W: Write> Debug for LineWriter<W> where W: Debug
  • impl<T: Debug> Debug for Cursor<T>
  • impl Debug for std::io::Error
  • impl Debug for ErrorKind
  • impl Debug for std::io::Empty
  • impl Debug for std::io::Repeat
  • impl Debug for Sink
  • impl Debug for Stdin
  • impl<'a> Debug for StdinLock<'a>
  • impl Debug for Stdout
  • impl<'a> Debug for StdoutLock<'a>
  • impl Debug for Stderr
  • impl<'a> Debug for StderrLock<'a>
  • impl Debug for SeekFrom
  • impl<T: Debug, U: Debug> Debug for std::io::Chain<T, U>
  • impl<T: Debug> Debug for std::io::Take<T>
  • impl<R: Debug> Debug for std::io::Bytes<R>
  • impl<R: Debug> Debug for std::io::Chars<R>
  • impl Debug for CharsError
  • impl<B: Debug> Debug for std::io::Split<B>
  • impl<B: Debug> Debug for std::io::Lines<B>
  • impl Debug for IpAddr
  • impl Debug for Ipv6MulticastScope
  • impl Debug for Ipv4Addr
  • impl Debug for Ipv6Addr
  • impl Debug for std::net::SocketAddr
  • impl Debug for SocketAddrV4
  • impl Debug for SocketAddrV6
  • impl<'a> Debug for std::net::Incoming<'a>
  • impl Debug for TcpStream
  • impl Debug for TcpListener
  • impl Debug for UdpSocket
  • impl Debug for AddrParseError
  • impl Debug for Shutdown
  • impl Debug for LookupHost
  • impl Debug for c_void
  • impl<T: Debug> Debug for AssertUnwindSafe<T>
  • impl<'a> Debug for Prefix<'a>
  • impl<'a> Debug for PrefixComponent<'a>
  • impl<'a> Debug for Component<'a>
  • impl<'a> Debug for Components<'a>
  • impl<'a> Debug for std::path::Iter<'a>
  • impl Debug for PathBuf
  • impl Debug for StripPrefixError
  • impl Debug for Path
  • impl<'a> Debug for Display<'a>
  • impl Debug for Child
  • impl Debug for ChildStdin
  • impl Debug for ChildStdout
  • impl Debug for ChildStderr
  • impl Debug for Command
  • impl Debug for Output
  • impl Debug for Stdio
  • impl Debug for ExitStatus
  • impl Debug for Select
  • impl<'rx, T: Send + 'rx> Debug for Handle<'rx, T>
  • impl<'a, T: Debug + 'a> Debug for std::sync::mpsc::Iter<'a, T>
  • impl<'a, T: Debug + 'a> Debug for TryIter<'a, T>
  • impl<T: Debug> Debug for std::sync::mpsc::IntoIter<T>
  • impl Debug for RecvError
  • impl Debug for TryRecvError
  • impl Debug for RecvTimeoutError
  • impl<T> Debug for Sender<T>
  • impl<T> Debug for SyncSender<T>
  • impl<T> Debug for Receiver<T>
  • impl<T> Debug for SendError<T>
  • impl<T> Debug for TrySendError<T>
  • impl Debug for Barrier
  • impl Debug for BarrierWaitResult
  • impl Debug for WaitTimeoutResult
  • impl Debug for Condvar
  • impl<T: ?Sized + Debug> Debug for Mutex<T>
  • impl<'a, T: ?Sized + Debug> Debug for MutexGuard<'a, T>
  • impl Debug for OnceState
  • impl Debug for std::sync::Once
  • impl<T: ?Sized + Debug> Debug for RwLock<T>
  • impl<'a, T: Debug> Debug for RwLockReadGuard<'a, T>
  • impl<'a, T: Debug> Debug for RwLockWriteGuard<'a, T>
  • impl Debug for Duration
  • impl Debug for SystemTimeError
  • impl Debug for Instant
  • impl Debug for SystemTime
  • impl<T> Debug for PoisonError<T>
  • impl<T> Debug for TryLockError<T>
  • impl Debug for std::os::unix::net::SocketAddr
  • impl Debug for UnixStream
  • impl Debug for UnixListener
  • impl<'a> Debug for std::os::unix::net::Incoming<'a>
  • impl Debug for UnixDatagram
  • impl<'a> Debug for PanicInfo<'a>
  • impl<'a> Debug for Location<'a>

© 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/std/fmt/trait.Debug.html