1.0.0[][src]Trait std::fmt::Debug

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

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

Examples

Deriving an implementation:

#[derive(Debug)]
struct Point {
    x: i32,
    y: i32,
}

let origin = Point { x: 0, y: 0 };

println!("The origin is: {:?}", origin);Run

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);Run

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);Run

This outputs:

The origin is: Point {
    x: 0,
    y: 0
}

Required Methods

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, }));Run

Implementations on Foreign Types

impl Debug for Utf8Lossy
[src]

impl<'a> Debug for Utf8LossyChunk<'a>
[src]

impl Debug for TryFromSliceError
[src]

Implementors

impl Debug for std::cmp::Ordering
[src]

impl Debug for CollectionAllocErr
[src]

impl Debug for VarError
[src]

impl Debug for c_void
[src]

impl Debug for Alignment
[src]

impl Debug for ErrorKind
[src]

impl Debug for SeekFrom
[src]

impl Debug for IpAddr
[src]

impl Debug for Ipv6MulticastScope
[src]

impl Debug for Shutdown
[src]

impl Debug for std::net::SocketAddr
[src]

impl Debug for FpCategory
[src]

impl Debug for SearchStep
[src]

impl Debug for ParseError
[src]

impl Debug for std::sync::atomic::Ordering
[src]

impl Debug for RecvTimeoutError
[src]

impl Debug for TryRecvError
[src]

impl Debug for bool
[src]

impl Debug for char
[src]

impl Debug for f32
[src]

impl Debug for f64
[src]

impl Debug for i128
[src]

impl Debug for i16
[src]

impl Debug for i32
[src]

impl Debug for i64
[src]

impl Debug for i8
[src]

impl Debug for isize
[src]

impl Debug for !
[src]

impl Debug for str
[src]

impl Debug for u128
[src]

impl Debug for u16
[src]

impl Debug for u32
[src]

impl Debug for u64
[src]

impl Debug for u8
[src]

impl Debug for ()
[src]

impl Debug for usize
[src]

impl Debug for AllocErr
[src]

impl Debug for CannotReallocInPlace
[src]

impl Debug for Excess
[src]

impl Debug for Global
[src]

impl Debug for Layout
[src]

impl Debug for LayoutErr
[src]

impl Debug for TypeId
[src]

impl Debug for std::ascii::EscapeDefault
[src]

impl Debug for BorrowError
[src]

impl Debug for BorrowMutError
[src]

impl Debug for CharTryFromError
[src]

impl Debug for DecodeUtf16Error
[src]

impl Debug for EscapeDebug
[src]

impl Debug for std::char::EscapeDefault
[src]

impl Debug for EscapeUnicode
[src]

impl Debug for ParseCharError
[src]

impl Debug for ToLowercase
[src]

impl Debug for ToUppercase
[src]

impl Debug for UnicodeVersion
[src]

impl Debug for DefaultHasher
[src]

impl Debug for RandomState
[src]

impl Debug for Args
[src]

impl Debug for ArgsOs
[src]

impl Debug for JoinPathsError
[src]

impl Debug for Vars
[src]

impl Debug for VarsOs
[src]

impl Debug for CStr
[src]

impl Debug for CString
[src]

impl Debug for FromBytesWithNulError
[src]

impl Debug for IntoStringError
[src]

impl Debug for NulError
[src]

impl Debug for OsStr
[src]

impl Debug for OsString
[src]

impl Debug for std::fmt::Error
[src]

impl Debug for DirBuilder
[src]

impl Debug for DirEntry
[src]

impl Debug for File
[src]

impl Debug for FileType
[src]

impl Debug for Metadata
[src]

impl Debug for OpenOptions
[src]

impl Debug for Permissions
[src]

impl Debug for ReadDir
[src]

impl Debug for SipHasher
[src]

impl Debug for std::io::Empty
[src]

impl Debug for std::io::Error
[src]

impl Debug for Initializer
[src]

impl Debug for std::io::Repeat
[src]

impl Debug for Sink
[src]

impl Debug for Stderr
[src]

impl Debug for Stdin
[src]

impl Debug for Stdout
[src]

impl Debug for Pinned
[src]

impl Debug for AddrParseError
[src]

impl Debug for Ipv4Addr
[src]

impl Debug for Ipv6Addr
[src]

impl Debug for SocketAddrV4
[src]

impl Debug for SocketAddrV6
[src]

impl Debug for TcpListener
[src]

impl Debug for TcpStream
[src]

impl Debug for UdpSocket
[src]

impl Debug for NonZeroU128
[src]

impl Debug for NonZeroU16
[src]

impl Debug for NonZeroU32
[src]

impl Debug for NonZeroU64
[src]

impl Debug for NonZeroU8
[src]

impl Debug for NonZeroUsize
[src]

impl Debug for ParseFloatError
[src]

impl Debug for ParseIntError
[src]

impl Debug for TryFromIntError
[src]

impl Debug for RangeFull
[src]

impl Debug for NoneError
[src]

impl Debug for std::os::unix::net::SocketAddr
[src]

impl Debug for UnixDatagram
[src]

impl Debug for UnixListener
[src]

impl Debug for UnixStream
[src]

impl Debug for Path
[src]

impl Debug for PathBuf
[src]

impl Debug for StripPrefixError
[src]

impl Debug for Child
[src]

impl Debug for ChildStderr
[src]

impl Debug for ChildStdin
[src]

impl Debug for ChildStdout
[src]

impl Debug for Command
[src]

Format the program and arguments of a Command for display. Any non-utf8 data is lossily converted using the utf8 replacement character.

impl Debug for ExitCode
[src]

impl Debug for ExitStatus
[src]

impl Debug for Output
[src]

impl Debug for Stdio
[src]

impl Debug for ParseBoolError
[src]

impl Debug for Utf8Error
[src]

impl Debug for FromUtf16Error
[src]

impl Debug for FromUtf8Error
[src]

impl Debug for String
[src]

impl Debug for AtomicBool
[src]

impl Debug for AtomicI16
[src]

impl Debug for AtomicI32
[src]

impl Debug for AtomicI64
[src]

impl Debug for AtomicI8
[src]

impl Debug for AtomicIsize
[src]

impl Debug for AtomicU16
[src]

impl Debug for AtomicU32
[src]

impl Debug for AtomicU64
[src]

impl Debug for AtomicU8
[src]

impl Debug for AtomicUsize
[src]

impl Debug for RecvError
[src]

impl Debug for Select
[src]

impl Debug for Barrier
[src]

impl Debug for BarrierWaitResult
[src]

impl Debug for Condvar
[src]

impl Debug for std::sync::Once
[src]

impl Debug for OnceState
[src]

impl Debug for WaitTimeoutResult
[src]

impl Debug for LocalWaker
[src]

impl Debug for SpawnErrorKind
[src]

impl Debug for SpawnLocalObjError
[src]

impl Debug for SpawnObjError
[src]

impl Debug for Waker
[src]

impl Debug for AccessError
[src]

impl Debug for Builder
[src]

impl Debug for Thread
[src]

impl Debug for ThreadId
[src]

impl Debug for Duration
[src]

impl Debug for Instant
[src]

impl Debug for SystemTime
[src]

impl Debug for SystemTimeError
[src]

impl Debug for Any + 'static
[src]

impl Debug for Any + 'static + Send
[src]

impl Debug for Any + 'static + Sync + Send
[src]

impl<'a> Debug for Component<'a>
[src]

impl<'a> Debug for Prefix<'a>
[src]

impl<'a> Debug for SplitPaths<'a>
[src]

impl<'a> Debug for Arguments<'a>
[src]

impl<'a> Debug for StderrLock<'a>
[src]

impl<'a> Debug for StdinLock<'a>
[src]

impl<'a> Debug for StdoutLock<'a>
[src]

impl<'a> Debug for std::net::Incoming<'a>
[src]

impl<'a> Debug for std::os::unix::net::Incoming<'a>
[src]

impl<'a> Debug for Location<'a>
[src]

impl<'a> Debug for PanicInfo<'a>
[src]

impl<'a> Debug for Ancestors<'a>
[src]

impl<'a> Debug for Components<'a>
[src]

impl<'a> Debug for Display<'a>
[src]

impl<'a> Debug for std::path::Iter<'a>
[src]

impl<'a> Debug for PrefixComponent<'a>
[src]

impl<'a> Debug for CharSearcher<'a>
[src]

impl<'a> Debug for std::str::Bytes<'a>
[src]

impl<'a> Debug for CharIndices<'a>
[src]

impl<'a> Debug for Chars<'a>
[src]

impl<'a> Debug for EncodeUtf16<'a>
[src]

impl<'a> Debug for std::str::Lines<'a>
[src]

impl<'a> Debug for LinesAny<'a>
[src]

impl<'a> Debug for SplitAsciiWhitespace<'a>
[src]

impl<'a> Debug for SplitWhitespace<'a>
[src]

impl<'a> Debug for std::string::Drain<'a>
[src]

impl<'a> Debug for Context<'a>
[src]

impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>
[src]

impl<'a, 'b> Debug for StrSearcher<'a, 'b>
[src]

impl<'a, A> Debug for std::option::Iter<'a, A> where
    A: 'a + Debug
[src]

impl<'a, A> Debug for std::option::IterMut<'a, A> where
    A: 'a + Debug
[src]

impl<'a, B> Debug for Cow<'a, B> where
    B: Debug + ToOwned + ?Sized,
    <B as ToOwned>::Owned: Debug
[src]

impl<'a, F> Debug for CharPredicateSearcher<'a, F> where
    F: FnMut(char) -> bool
[src]

impl<'a, I> Debug for Splice<'a, I> where
    I: 'a + Iterator + Debug,
    <I as Iterator>::Item: Debug
[src]

impl<'a, K, V> Debug for std::collections::btree_map::Entry<'a, K, V> where
    K: 'a + Ord + Debug,
    V: 'a + Debug
[src]

impl<'a, K, V> Debug for std::collections::btree_map::Iter<'a, K, V> where
    K: 'a + Debug,
    V: 'a + Debug
[src]

impl<'a, K, V> Debug for std::collections::btree_map::IterMut<'a, K, V> where
    K: 'a + Debug,
    V: 'a + Debug
[src]

impl<'a, K, V> Debug for std::collections::btree_map::Keys<'a, K, V> where
    K: 'a + Debug,
    V: 'a, 
[src]

impl<'a, K, V> Debug for std::collections::btree_map::OccupiedEntry<'a, K, V> where
    K: 'a + Ord + Debug,
    V: 'a + Debug
[src]

impl<'a, K, V> Debug for std::collections::btree_map::Range<'a, K, V> where
    K: 'a + Debug,
    V: 'a + Debug
[src]

impl<'a, K, V> Debug for RangeMut<'a, K, V> where
    K: 'a + Debug,
    V: 'a + Debug
[src]

impl<'a, K, V> Debug for std::collections::btree_map::VacantEntry<'a, K, V> where
    K: 'a + Ord + Debug,
    V: 'a, 
[src]

impl<'a, K, V> Debug for std::collections::btree_map::Values<'a, K, V> where
    K: 'a,
    V: 'a + Debug
[src]

impl<'a, K, V> Debug for std::collections::btree_map::ValuesMut<'a, K, V> where
    K: 'a + Debug,
    V: 'a + Debug
[src]

impl<'a, K, V> Debug for std::collections::hash_map::Drain<'a, K, V> where
    K: Debug,
    V: Debug
[src]

impl<'a, K, V> Debug for std::collections::hash_map::IterMut<'a, K, V> where
    K: Debug,
    V: Debug
[src]

impl<'a, K, V> Debug for std::collections::hash_map::ValuesMut<'a, K, V> where
    K: Debug,
    V: Debug
[src]

impl<'a, K, V: Debug> Debug for std::collections::hash_map::Values<'a, K, V>
[src]

impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for std::collections::hash_map::Entry<'a, K, V>
[src]

impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for std::collections::hash_map::OccupiedEntry<'a, K, V>
[src]

impl<'a, K: 'a + Debug, V: 'a> Debug for std::collections::hash_map::VacantEntry<'a, K, V>
[src]

impl<'a, K: Debug> Debug for std::collections::hash_set::Drain<'a, K>
[src]

impl<'a, K: Debug> Debug for std::collections::hash_set::Iter<'a, K>
[src]

impl<'a, K: Debug, V> Debug for std::collections::hash_map::Keys<'a, K, V>
[src]

impl<'a, K: Debug, V: Debug> Debug for std::collections::hash_map::Iter<'a, K, V>
[src]

impl<'a, P> Debug for MatchIndices<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: Debug
[src]

impl<'a, P> Debug for Matches<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: Debug
[src]

impl<'a, P> Debug for RMatchIndices<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: Debug
[src]

impl<'a, P> Debug for RMatches<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: Debug
[src]

impl<'a, P> Debug for std::str::RSplit<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: Debug
[src]

impl<'a, P> Debug for std::str::RSplitN<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: Debug
[src]

impl<'a, P> Debug for RSplitTerminator<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: Debug
[src]

impl<'a, P> Debug for std::str::Split<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: Debug
[src]

impl<'a, P> Debug for std::str::SplitN<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: Debug
[src]

impl<'a, P> Debug for SplitTerminator<'a, P> where
    P: Pattern<'a>,
    <P as Pattern<'a>>::Searcher: Debug
[src]

impl<'a, T> Debug for &'a T where
    T: Debug + ?Sized
[src]

impl<'a, T> Debug for &'a mut T where
    T: Debug + ?Sized
[src]

impl<'a, T> Debug for std::collections::binary_heap::Drain<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::collections::binary_heap::Iter<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for PeekMut<'a, T> where
    T: Ord + Debug
[src]

impl<'a, T> Debug for std::collections::btree_set::Difference<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::collections::btree_set::Intersection<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::collections::btree_set::Iter<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::collections::btree_set::Range<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::collections::btree_set::SymmetricDifference<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::collections::btree_set::Union<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::collections::linked_list::Iter<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::collections::linked_list::IterMut<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::collections::vec_deque::Drain<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::collections::vec_deque::Iter<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::collections::vec_deque::IterMut<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for FutureObj<'a, T>
[src]

impl<'a, T> Debug for LocalFutureObj<'a, T>
[src]

impl<'a, T> Debug for PinMut<'a, T> where
    T: Debug + ?Sized
[src]

impl<'a, T> Debug for std::result::Iter<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::result::IterMut<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for Chunks<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for ChunksMut<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for ExactChunks<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for ExactChunksMut<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::slice::Iter<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::slice::IterMut<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for Windows<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for std::vec::Drain<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T, F> Debug for std::collections::linked_list::DrainFilter<'a, T, F> where
    F: FnMut(&mut T) -> bool,
    T: 'a + Debug
[src]

impl<'a, T, F> Debug for std::vec::DrainFilter<'a, T, F> where
    F: Debug + FnMut(&mut T) -> bool,
    T: 'a + Debug
[src]

impl<'a, T, P> Debug for std::slice::RSplit<'a, T, P> where
    P: FnMut(&T) -> bool,
    T: 'a + Debug
[src]

impl<'a, T, P> Debug for RSplitMut<'a, T, P> where
    P: FnMut(&T) -> bool,
    T: 'a + Debug
[src]

impl<'a, T, P> Debug for std::slice::RSplitN<'a, T, P> where
    P: FnMut(&T) -> bool,
    T: 'a + Debug
[src]

impl<'a, T, P> Debug for RSplitNMut<'a, T, P> where
    P: FnMut(&T) -> bool,
    T: 'a + Debug
[src]

impl<'a, T, P> Debug for std::slice::Split<'a, T, P> where
    P: FnMut(&T) -> bool,
    T: 'a + Debug
[src]

impl<'a, T, P> Debug for SplitMut<'a, T, P> where
    P: FnMut(&T) -> bool,
    T: 'a + Debug
[src]

impl<'a, T, P> Debug for std::slice::SplitN<'a, T, P> where
    P: FnMut(&T) -> bool,
    T: 'a + Debug
[src]

impl<'a, T, P> Debug for SplitNMut<'a, T, P> where
    P: FnMut(&T) -> bool,
    T: 'a + Debug
[src]

impl<'a, T, S> Debug for std::collections::hash_set::Difference<'a, T, S> where
    T: Debug + Eq + Hash,
    S: BuildHasher
[src]

impl<'a, T, S> Debug for std::collections::hash_set::Intersection<'a, T, S> where
    T: Debug + Eq + Hash,
    S: BuildHasher
[src]

impl<'a, T, S> Debug for std::collections::hash_set::SymmetricDifference<'a, T, S> where
    T: Debug + Eq + Hash,
    S: BuildHasher
[src]

impl<'a, T, S> Debug for std::collections::hash_set::Union<'a, T, S> where
    T: Debug + Eq + Hash,
    S: BuildHasher
[src]

impl<'a, T: Debug + 'a> Debug for std::sync::mpsc::Iter<'a, T>
[src]

impl<'a, T: Debug + 'a> Debug for TryIter<'a, T>
[src]

impl<'a, T: Debug> Debug for RwLockReadGuard<'a, T>
[src]

impl<'a, T: Debug> Debug for RwLockWriteGuard<'a, T>
[src]

impl<'a, T: ?Sized + Debug> Debug for MutexGuard<'a, T>
[src]

impl<'b, T> Debug for Ref<'b, T> where
    T: Debug + ?Sized
[src]

impl<'b, T> Debug for RefMut<'b, T> where
    T: Debug + ?Sized
[src]

impl<'rx, T: Send + 'rx> Debug for Handle<'rx, T>
[src]

impl<A> Debug for std::iter::Repeat<A> where
    A: Debug
[src]

impl<A> Debug for std::option::IntoIter<A> where
    A: Debug
[src]

impl<A, B> Debug for std::iter::Chain<A, B> where
    A: Debug,
    B: Debug
[src]

impl<A, B> Debug for Zip<A, B> where
    A: Debug,
    B: Debug
[src]

impl<B: Debug> Debug for std::io::Lines<B>
[src]

impl<B: Debug> Debug for std::io::Split<B>
[src]

impl<F> Debug for RepeatWith<F> where
    F: Debug
[src]

impl<H> Debug for BuildHasherDefault<H>
[src]

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

impl<I> Debug for Cloned<I> where
    I: Debug
[src]

impl<I> Debug for Cycle<I> where
    I: Debug
[src]

impl<I> Debug for Enumerate<I> where
    I: Debug
[src]

impl<I> Debug for Fuse<I> where
    I: Debug
[src]

impl<I> Debug for Peekable<I> where
    I: Iterator + Debug,
    <I as Iterator>::Item: Debug
[src]

impl<I> Debug for Skip<I> where
    I: Debug
[src]

impl<I> Debug for StepBy<I> where
    I: Debug
[src]

impl<I> Debug for std::iter::Take<I> where
    I: Debug
[src]

impl<I, F> Debug for FilterMap<I, F> where
    I: Debug
[src]

impl<I, F> Debug for Inspect<I, F> where
    I: Debug
[src]

impl<I, F> Debug for Map<I, F> where
    I: Debug
[src]

impl<I, P> Debug for Filter<I, P> where
    I: Debug
[src]

impl<I, P> Debug for SkipWhile<I, P> where
    I: Debug
[src]

impl<I, P> Debug for TakeWhile<I, P> where
    I: Debug
[src]

impl<I, St, F> Debug for Scan<I, St, F> where
    I: Debug,
    St: Debug
[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
[src]

impl<I, U, F> Debug for FlatMap<I, U, F> where
    I: Debug,
    U: IntoIterator,
    <U as IntoIterator>::IntoIter: Debug
[src]

impl<Idx> Debug for std::ops::Range<Idx> where
    Idx: Debug
[src]

impl<Idx> Debug for RangeFrom<Idx> where
    Idx: Debug
[src]

impl<Idx> Debug for RangeInclusive<Idx> where
    Idx: Debug
[src]

impl<Idx> Debug for RangeTo<Idx> where
    Idx: Debug
[src]

impl<Idx> Debug for RangeToInclusive<Idx> where
    Idx: Debug
[src]

impl<K, V> Debug for BTreeMap<K, V> where
    K: Debug,
    V: Debug
[src]

impl<K, V> Debug for std::collections::btree_map::IntoIter<K, V> where
    K: Debug,
    V: Debug
[src]

impl<K, V, S> Debug for HashMap<K, V, S> where
    K: Eq + Hash + Debug,
    V: Debug,
    S: BuildHasher
[src]

impl<K: Debug> Debug for std::collections::hash_set::IntoIter<K>
[src]

impl<K: Debug, V: Debug> Debug for std::collections::hash_map::IntoIter<K, V>
[src]

impl<R> Debug for BufReader<R> where
    R: Debug
[src]

impl<R: Debug> Debug for std::io::Bytes<R>
[src]

impl<Ret> Debug for fn() -> Ret
[src]

impl<Ret> Debug for extern "C" fn() -> Ret
[src]

impl<Ret> Debug for unsafe fn() -> Ret
[src]

impl<Ret> Debug for unsafe extern "C" fn() -> Ret
[src]

impl<Ret, A> Debug for fn(A) -> Ret
[src]

impl<Ret, A> Debug for extern "C" fn(A) -> Ret
[src]

impl<Ret, A> Debug for extern "C" fn(A, ...) -> Ret
[src]

impl<Ret, A> Debug for unsafe fn(A) -> Ret
[src]

impl<Ret, A> Debug for unsafe extern "C" fn(A) -> Ret
[src]

impl<Ret, A> Debug for unsafe extern "C" fn(A, ...) -> Ret
[src]

impl<Ret, A, B> Debug for fn(A, B) -> Ret
[src]

impl<Ret, A, B> Debug for extern "C" fn(A, B) -> Ret
[src]

impl<Ret, A, B> Debug for extern "C" fn(A, B, ...) -> Ret
[src]

impl<Ret, A, B> Debug for unsafe fn(A, B) -> Ret
[src]

impl<Ret, A, B> Debug for unsafe extern "C" fn(A, B) -> Ret
[src]

impl<Ret, A, B> Debug for unsafe extern "C" fn(A, B, ...) -> Ret
[src]

impl<Ret, A, B, C> Debug for fn(A, B, C) -> Ret
[src]

impl<Ret, A, B, C> Debug for extern "C" fn(A, B, C) -> Ret
[src]

impl<Ret, A, B, C> Debug for extern "C" fn(A, B, C, ...) -> Ret
[src]

impl<Ret, A, B, C> Debug for unsafe fn(A, B, C) -> Ret
[src]

impl<Ret, A, B, C> Debug for unsafe extern "C" fn(A, B, C) -> Ret
[src]

impl<Ret, A, B, C> Debug for unsafe extern "C" fn(A, B, C, ...) -> Ret
[src]

impl<Ret, A, B, C, D> Debug for fn(A, B, C, D) -> Ret
[src]

impl<Ret, A, B, C, D> Debug for extern "C" fn(A, B, C, D) -> Ret
[src]

impl<Ret, A, B, C, D> Debug for extern "C" fn(A, B, C, D, ...) -> Ret
[src]

impl<Ret, A, B, C, D> Debug for unsafe fn(A, B, C, D) -> Ret
[src]

impl<Ret, A, B, C, D> Debug for unsafe extern "C" fn(A, B, C, D) -> Ret
[src]

impl<Ret, A, B, C, D> Debug for unsafe extern "C" fn(A, B, C, D, ...) -> Ret
[src]

impl<Ret, A, B, C, D, E> Debug for fn(A, B, C, D, E) -> Ret
[src]

impl<Ret, A, B, C, D, E> Debug for extern "C" fn(A, B, C, D, E) -> Ret
[src]

impl<Ret, A, B, C, D, E> Debug for extern "C" fn(A, B, C, D, E, ...) -> Ret
[src]

impl<Ret, A, B, C, D, E> Debug for unsafe fn(A, B, C, D, E) -> Ret
[src]

impl<Ret, A, B, C, D, E> Debug for unsafe extern "C" fn(A, B, C, D, E) -> Ret
[src]

impl<Ret, A, B, C, D, E> Debug for unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret
[src]

impl<Ret, A, B, C, D, E, F> Debug for fn(A, B, C, D, E, F) -> Ret
[src]

impl<Ret, A, B, C, D, E, F> Debug for extern "C" fn(A, B, C, D, E, F) -> Ret
[src]

impl<Ret, A, B, C, D, E, F> Debug for extern "C" fn(A, B, C, D, E, F, ...) -> Ret
[src]

impl<Ret, A, B, C, D, E, F> Debug for unsafe fn(A, B, C, D, E, F) -> Ret
[src]

impl<Ret, A, B, C, D, E, F> Debug for unsafe extern "C" fn(A, B, C, D, E, F) -> Ret
[src]

impl<Ret, A, B, C, D, E, F> Debug for unsafe extern "C" fn(A, B, C, D, E, F, ...) -> Ret
[src]

impl<Ret, A, B, C, D, E, F, G> Debug for fn(A, B, C, D, E, F, G) -> Ret
[src]

impl<Ret, A, B, C, D, E, F, G> Debug for extern "C" fn(A, B, C, D, E, F, G) -> Ret
[src]

impl<Ret, A, B, C, D, E, F, G> Debug for extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
[src]

impl<Ret, A, B, C, D, E, F, G> Debug for unsafe fn(A, B, C, D, E, F, G) -> Ret
[src]

impl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret
[src]

impl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
[src]

impl<Ret, A, B, C, D, E, F, G, H> Debug for fn(A, B, C, D, E, F, G, H) -> Ret
[src]

impl<Ret, A, B, C, D, E, F, G, H> Debug for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
[src]

impl<Ret, A, B, C, D, E, F, G, H> Debug for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
[src]

impl<Ret, A, B, C, D, E, F, G, H> Debug for unsafe fn(A, B, C, D, E, F, G, H) -> Ret
[src]

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
[src]

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
[src]

impl<Ret, A, B, C, D, E, F, G, H, I> Debug for fn(A, B, C, D, E, F, G, H, I) -> Ret
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

impl<T> Debug for Bound<T> where
    T: Debug
[src]

impl<T> Debug for Option<T> where
    T: Debug
[src]

impl<T> Debug for TryLockError<T>
[src]

impl<T> Debug for TrySendError<T>
[src]

impl<T> Debug for Poll<T> where
    T: Debug
[src]

impl<T> Debug for [T; 0] where
    T: Debug
[src]

impl<T> Debug for [T; 1] where
    T: Debug
[src]

impl<T> Debug for [T; 2] where
    T: Debug
[src]

impl<T> Debug for [T; 3] where
    T: Debug
[src]

impl<T> Debug for [T; 4] where
    T: Debug
[src]

impl<T> Debug for [T; 5] where
    T: Debug
[src]

impl<T> Debug for [T; 6] where
    T: Debug
[src]

impl<T> Debug for [T; 7] where
    T: Debug
[src]

impl<T> Debug for [T; 8] where
    T: Debug
[src]

impl<T> Debug for [T; 9] where
    T: Debug
[src]

impl<T> Debug for [T; 10] where
    T: Debug
[src]

impl<T> Debug for [T; 11] where
    T: Debug
[src]

impl<T> Debug for [T; 12] where
    T: Debug
[src]

impl<T> Debug for [T; 13] where
    T: Debug
[src]

impl<T> Debug for [T; 14] where
    T: Debug
[src]

impl<T> Debug for [T; 15] where
    T: Debug
[src]

impl<T> Debug for [T; 16] where
    T: Debug
[src]

impl<T> Debug for [T; 17] where
    T: Debug
[src]

impl<T> Debug for [T; 18] where
    T: Debug
[src]

impl<T> Debug for [T; 19] where
    T: Debug
[src]

impl<T> Debug for [T; 20] where
    T: Debug
[src]

impl<T> Debug for [T; 21] where
    T: Debug
[src]

impl<T> Debug for [T; 22] where
    T: Debug
[src]

impl<T> Debug for [T; 23] where
    T: Debug
[src]

impl<T> Debug for [T; 24] where
    T: Debug
[src]

impl<T> Debug for [T; 25] where
    T: Debug
[src]

impl<T> Debug for [T; 26] where
    T: Debug
[src]

impl<T> Debug for [T; 27] where
    T: Debug
[src]

impl<T> Debug for [T; 28] where
    T: Debug
[src]

impl<T> Debug for [T; 29] where
    T: Debug
[src]

impl<T> Debug for [T; 30] where
    T: Debug
[src]

impl<T> Debug for [T; 31] where
    T: Debug
[src]

impl<T> Debug for [T; 32] where
    T: Debug
[src]

impl<T> Debug for *const T where
    T: ?Sized
[src]

impl<T> Debug for *mut T where
    T: ?Sized
[src]

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

impl<T> Debug for Box<T> where
    T: Debug + ?Sized
[src]

impl<T> Debug for Cell<T> where
    T: Copy + Debug
[src]

impl<T> Debug for RefCell<T> where
    T: Debug + ?Sized
[src]

impl<T> Debug for UnsafeCell<T> where
    T: Debug + ?Sized
[src]

impl<T> Debug for Reverse<T> where
    T: Debug
[src]

impl<T> Debug for BinaryHeap<T> where
    T: Ord + Debug
[src]

impl<T> Debug for std::collections::binary_heap::IntoIter<T> where
    T: Debug
[src]

impl<T> Debug for BTreeSet<T> where
    T: Debug
[src]

impl<T> Debug for std::collections::btree_set::IntoIter<T> where
    T: Debug
[src]

impl<T> Debug for std::collections::linked_list::IntoIter<T> where
    T: Debug
[src]

impl<T> Debug for LinkedList<T> where
    T: Debug
[src]

impl<T> Debug for std::collections::vec_deque::IntoIter<T> where
    T: Debug
[src]

impl<T> Debug for VecDeque<T> where
    T: Debug
[src]

impl<T> Debug for std::iter::Empty<T>
[src]

impl<T> Debug for std::iter::Once<T> where
    T: Debug
[src]

impl<T> Debug for Rev<T> where
    T: Debug
[src]

impl<T> Debug for PhantomData<T> where
    T: ?Sized
[src]

impl<T> Debug for Discriminant<T>
[src]

impl<T> Debug for ManuallyDrop<T> where
    T: Debug + ?Sized
[src]

impl<T> Debug for Wrapping<T> where
    T: Debug
[src]

impl<T> Debug for PinBox<T> where
    T: Debug + ?Sized
[src]

impl<T> Debug for NonNull<T> where
    T: ?Sized
[src]

impl<T> Debug for Rc<T> where
    T: Debug + ?Sized
[src]

impl<T> Debug for std::rc::Weak<T> where
    T: Debug + ?Sized
[src]

impl<T> Debug for std::result::IntoIter<T> where
    T: Debug
[src]

impl<T> Debug for AtomicPtr<T>
[src]

impl<T> Debug for Receiver<T>
[src]

impl<T> Debug for SendError<T>
[src]

impl<T> Debug for Sender<T>
[src]

impl<T> Debug for SyncSender<T>
[src]

impl<T> Debug for Arc<T> where
    T: Debug + ?Sized
[src]

impl<T> Debug for PoisonError<T>
[src]

impl<T> Debug for std::sync::Weak<T> where
    T: Debug + ?Sized
[src]

impl<T> Debug for JoinHandle<T>
[src]

impl<T> Debug for std::vec::IntoIter<T> where
    T: Debug
[src]

impl<T> Debug for Vec<T> where
    T: Debug
[src]

impl<T, E> Debug for Result<T, E> where
    E: Debug,
    T: Debug
[src]

impl<T, S> Debug for HashSet<T, S> where
    T: Eq + Hash + Debug,
    S: BuildHasher
[src]

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
[src]

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
[src]

impl<T10, T11> Debug for (T10, T11) where
    T10: Debug,
    T11: Debug + ?Sized
[src]

impl<T11> Debug for (T11,) where
    T11: Debug + ?Sized
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

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
[src]

impl<T8, T9, T10, T11> Debug for (T8, T9, T10, T11) where
    T10: Debug,
    T11: Debug + ?Sized,
    T8: Debug,
    T9: Debug
[src]

impl<T9, T10, T11> Debug for (T9, T10, T11) where
    T10: Debug,
    T11: Debug + ?Sized,
    T9: Debug
[src]

impl<T: 'static> Debug for LocalKey<T>
[src]

impl<T: Debug> Debug for Cursor<T>
[src]

impl<T: Debug> Debug for std::io::Take<T>
[src]

impl<T: Debug> Debug for AssertUnwindSafe<T>
[src]

impl<T: Debug> Debug for std::sync::mpsc::IntoIter<T>
[src]

impl<T: Debug, U: Debug> Debug for std::io::Chain<T, U>
[src]

impl<T: ?Sized + Debug> Debug for Mutex<T>
[src]

impl<T: ?Sized + Debug> Debug for RwLock<T>
[src]

impl<W: Debug> Debug for IntoInnerError<W>
[src]

impl<W: Write> Debug for BufWriter<W> where
    W: Debug
[src]

impl<W: Write> Debug for LineWriter<W> where
    W: Debug
[src]

impl<Y, R> Debug for GeneratorState<Y, R> where
    R: Debug,
    Y: Debug
[src]