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

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

Implementations on Foreign Types

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

impl Debug for __m64[src]

impl Debug for __m512[src]

impl Debug for __m256[src]

impl Debug for IntErrorKind[src]

impl Debug for __m128d[src]

impl Debug for Utf8Lossy[src]

impl Debug for __m512i[src]

impl Debug for TryFromSliceError[src]

impl Debug for __m128i[src]

impl Debug for CpuidResult[src]

impl Debug for __m256d[src]

impl Debug for __m128[src]

impl Debug for __m512d[src]

impl Debug for __m256i[src]

impl Debug for TryDemangleError

impl<'a> Debug for Demangle<'a>

Loading content...

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 System[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 PhantomPinned[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]

fn fmt(&self, f: &mut Formatter) -> Result[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 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 dyn Any + 'static[src]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<'_, T, P> Debug for SplitNMut<'_, T, P> where
    P: FnMut(&T) -> bool,
    T: Debug
[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 VaList<'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 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, '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, 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, S> Debug for RawEntryBuilder<'a, K, V, S>[src]

impl<'a, K, V, S> Debug for RawEntryBuilderMut<'a, K, V, S>[src]

impl<'a, K, V, S> Debug for RawVacantEntryMut<'a, K, V, S>[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, K: Debug, V: Debug> Debug for RawOccupiedEntryMut<'a, K, V>[src]

impl<'a, K: Debug, V: Debug, S> Debug for RawEntryMut<'a, K, V, S>[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 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 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 ChunksExact<'a, T> where
    T: 'a + Debug
[src]

impl<'a, T> Debug for ChunksExactMut<'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 RChunks<'a, T> where
    T: 'a + Debug
[src]

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

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

impl<'a, T> Debug for RChunksMut<'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, 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<'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 OnceWith<F> where
    F: Debug
[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 Copied<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<P> Debug for Pin<P> where
    P: Debug
[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<St, F> Debug for Unfold<St, F> where
    St: Debug
[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 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, F> Debug for Successors<T, F> where
    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]

Loading content...