logo

Trait std::fmt::Debug

1.0.0 · source ·
pub trait Debug {
 fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;
}
Expand description

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

Stability

Derived Debug formats are not stable, and so may change with future Rust versions. Additionally, Debug implementations of types provided by the standard library (libstd, libcore, liballoc, etc.) are not stable, and may also change with future Rust versions.

Examples

Deriving an implementation:

#[derive(Debug)]
struct Point {
 x: i32,
 y: i32,
}
let origin = Point { x: 0, y: 0 };
assert_eq!(format!("The origin is: {origin:?}"), "The origin is: Point { x: 0, y: 0 }");
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 {
 f.debug_struct("Point")
 .field("x", &self.x)
 .field("y", &self.y)
 .finish()
 }
}
let origin = Point { x: 0, y: 0 };
assert_eq!(format!("The origin is: {origin:?}"), "The origin is: Point { x: 0, y: 0 }");
Run

There are a number of helper methods on the Formatter struct to help you with manual implementations, such as debug_struct.

Types that do not wish to use the standard suite of debug representations provided by the Formatter trait (debug_struct, debug_tuple, debug_list, debug_set, debug_map) can do something totally custom by manually writing an arbitrary representation to the Formatter.

impl fmt::Debug for Point {
 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 write!(f, "Point [{} {}]", self.x, self.y)
 }
}
Run

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 };
assert_eq!(format!("The origin is: {origin:#?}"),
"The origin is: Point {
 x: 0,
 y: 0,
}");
Run

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 {
 f.debug_tuple("")
 .field(&self.longitude)
 .field(&self.latitude)
 .finish()
 }
}
let position = Position { longitude: 1.987, latitude: 2.983 };
assert_eq!(format!("{position:?}"), "(1.987, 2.983)");
assert_eq!(format!("{position:#?}"), "(
 1.987,
 2.983,
)");
Run

Implementors

source

impl Debug for BacktraceStatus

source

impl Debug for std::cmp::Ordering

source

impl Debug for TryReserveErrorKind

1.34.0 · source

impl Debug for Infallible

source

impl Debug for VarError

1.16.0 · source

impl Debug for c_void

source

impl Debug for ErrorKind

source

impl Debug for SeekFrom

1.7.0 · source

impl Debug for IpAddr

source

impl Debug for Ipv6MulticastScope

source

impl Debug for Shutdown

source

impl Debug for std::net::SocketAddr

source

impl Debug for FpCategory

1.55.0 · source

impl Debug for IntErrorKind

source

impl Debug for AncillaryError

Available on (Android or Linux) and Unix only.
source

impl Debug for BacktraceStyle

source

impl Debug for Which

source

impl Debug for SearchStep

source

impl Debug for std::sync::atomic::Ordering

1.12.0 · source

impl Debug for RecvTimeoutError

source

impl Debug for TryRecvError

1.28.0 · source

impl Debug for Alignment

source

impl Debug for bool

source

impl Debug for char

source

impl Debug for f32

source

impl Debug for f64

source

impl Debug for i8

source

impl Debug for i16

source

impl Debug for i32

source

impl Debug for i64

source

impl Debug for i128

source

impl Debug for isize

source

impl Debug for !

source

impl Debug for str

source

impl Debug for u8

source

impl Debug for u16

source

impl Debug for u32

source

impl Debug for u64

source

impl Debug for u128

source

impl Debug for ()

source

impl Debug for usize

1.27.0 · source

impl Debug for CpuidResult

1.27.0 · source

impl Debug for __m128

source

impl Debug for __m128bh

1.27.0 · source

impl Debug for __m128d

1.27.0 · source

impl Debug for __m128i

1.27.0 · source

impl Debug for __m256

source

impl Debug for __m256bh

1.27.0 · source

impl Debug for __m256d

1.27.0 · source

impl Debug for __m256i

source

impl Debug for __m512

source

impl Debug for __m512bh

source

impl Debug for __m512d

source

impl Debug for __m512i

source

impl Debug for FromBytesUntilNulError

source

impl Debug for Utf8Lossy

source

impl Debug for AllocError

source

impl Debug for Global

1.28.0 · source

impl Debug for Layout

1.50.0 · source

impl Debug for LayoutError

1.28.0 · source

impl Debug for System

source

impl Debug for TypeId

1.34.0 · source

impl Debug for TryFromSliceError

1.16.0 · source

impl Debug for std::ascii::EscapeDefault

source

impl Debug for Backtrace

source

impl Debug for BacktraceFrame

1.13.0 · source

impl Debug for BorrowError

1.13.0 · source

impl Debug for BorrowMutError

1.34.0 · source

impl Debug for CharTryFromError

1.9.0 · source

impl Debug for DecodeUtf16Error

1.20.0 · source

impl Debug for std::char::EscapeDebug

source

impl Debug for std::char::EscapeDefault

source

impl Debug for std::char::EscapeUnicode

1.20.0 · source

impl Debug for ParseCharError

source

impl Debug for ToLowercase

source

impl Debug for ToUppercase

1.59.0 · source

impl Debug for TryFromCharError

1.13.0 · source

impl Debug for DefaultHasher

1.16.0 · source

impl Debug for RandomState

1.57.0 · source

impl Debug for TryReserveError

1.16.0 · source

impl Debug for Args

1.16.0 · source

impl Debug for ArgsOs

source

impl Debug for JoinPathsError

1.16.0 · source

impl Debug for SplitPaths<'_>

1.16.0 · source

impl Debug for Vars

1.16.0 · source

impl Debug for VarsOs

1.3.0 · source

impl Debug for CStr

source

impl Debug for CString

1.64.0 · source

impl Debug for FromBytesWithNulError

1.64.0 · source

impl Debug for FromVecWithNulError

1.64.0 · source

impl Debug for IntoStringError

1.64.0 · source

impl Debug for NulError

source

impl Debug for OsStr

source

impl Debug for OsString

1.6.0 · source

impl Debug for DirBuilder

1.13.0 · source

impl Debug for DirEntry

source

impl Debug for File

source

impl Debug for FileTimes

1.1.0 · source

impl Debug for FileType

1.16.0 · source

impl Debug for Metadata

source

impl Debug for OpenOptions

source

impl Debug for Permissions

source

impl Debug for ReadDir

source

impl Debug for SipHasher

1.16.0 · source

impl Debug for std::io::Empty

source

impl Debug for std::io::Error

source

impl Debug for ReadBuf<'_>

1.16.0 · source

impl Debug for std::io::Repeat

1.16.0 · source

impl Debug for Sink

1.16.0 · source

impl Debug for Stderr

1.16.0 · source

impl Debug for StderrLock<'_>

1.16.0 · source

impl Debug for Stdin

1.16.0 · source

impl Debug for StdinLock<'_>

1.16.0 · source

impl Debug for Stdout

1.16.0 · source

impl Debug for StdoutLock<'_>

1.56.0 · source

impl Debug for WriterPanicked

1.33.0 · source

impl Debug for PhantomPinned

source

impl Debug for Assume

source

impl Debug for AddrParseError

source

impl Debug for IntoIncoming

source

impl Debug for Ipv4Addr

source

impl Debug for Ipv6Addr

source

impl Debug for SocketAddrV4

source

impl Debug for SocketAddrV6

source

impl Debug for TcpListener

source

impl Debug for TcpStream

source

impl Debug for UdpSocket

1.34.0 · source

impl Debug for NonZeroI8

1.34.0 · source

impl Debug for NonZeroI16

1.34.0 · source

impl Debug for NonZeroI32

1.34.0 · source

impl Debug for NonZeroI64

1.34.0 · source

impl Debug for NonZeroI128

1.34.0 · source

impl Debug for NonZeroIsize

1.28.0 · source

impl Debug for NonZeroU8

1.28.0 · source

impl Debug for NonZeroU16

1.28.0 · source

impl Debug for NonZeroU32

1.28.0 · source

impl Debug for NonZeroU64

1.28.0 · source

impl Debug for NonZeroU128

1.28.0 · source

impl Debug for NonZeroUsize

source

impl Debug for ParseFloatError

source

impl Debug for ParseIntError

1.34.0 · source

impl Debug for TryFromIntError

source

impl Debug for RangeFull

source

impl Debug for PidFd

Available on Linux only.
1.63.0 · source

impl Debug for BorrowedFd<'_>

1.63.0 · source

impl Debug for OwnedFd

1.10.0 · source

impl Debug for std::os::unix::net::SocketAddr

Available on Unix only.
1.10.0 · source

impl Debug for UnixDatagram

Available on Unix only.
1.10.0 · source

impl Debug for UnixListener

Available on Unix only.
1.10.0 · source

impl Debug for UnixStream

Available on Unix only.
source

impl Debug for UCred

Available on Unix only.
1.63.0 · source

impl Debug for BorrowedHandle<'_>

Available on Windows only.
1.63.0 · source

impl Debug for BorrowedSocket<'_>

Available on Windows only.
1.63.0 · source

impl Debug for HandleOrInvalid

Available on Windows only.
1.63.0 · source

impl Debug for HandleOrNull

Available on Windows only.
1.63.0 · source

impl Debug for InvalidHandleError

Available on Windows only.
1.63.0 · source

impl Debug for NullHandleError

Available on Windows only.
1.63.0 · source

impl Debug for OwnedHandle

Available on Windows only.
1.63.0 · source

impl Debug for OwnedSocket

Available on Windows only.
1.13.0 · source

impl Debug for Components<'_>

source

impl Debug for Display<'_>

1.13.0 · source

impl Debug for std::path::Iter<'_>

source

impl Debug for Path

source

impl Debug for PathBuf

1.7.0 · source

impl Debug for StripPrefixError

1.16.0 · source

impl Debug for Child

1.16.0 · source

impl Debug for ChildStderr

1.16.0 · source

impl Debug for ChildStdin

1.16.0 · source

impl Debug for ChildStdout

source

impl Debug for Command

1.61.0 · source

impl Debug for ExitCode

source

impl Debug for ExitStatus

source

impl Debug for ExitStatusError

1.7.0 · source

impl Debug for Output

1.16.0 · source

impl Debug for Stdio

1.38.0 · source

impl Debug for Chars<'_>

1.17.0 · source

impl Debug for EncodeUtf16<'_>

source

impl Debug for ParseBoolError

source

impl Debug for Utf8Error

1.17.0 · source

impl Debug for std::string::Drain<'_>

source

impl Debug for FromUtf8Error

source

impl Debug for FromUtf16Error

source

impl Debug for String

1.3.0 · source

impl Debug for AtomicBool

1.34.0 · source

impl Debug for AtomicI8

1.34.0 · source

impl Debug for AtomicI16

1.34.0 · source

impl Debug for AtomicI32

1.34.0 · source

impl Debug for AtomicI64

1.3.0 · source

impl Debug for AtomicIsize

1.34.0 · source

impl Debug for AtomicU8

1.34.0 · source

impl Debug for AtomicU16

1.34.0 · source

impl Debug for AtomicU32

1.34.0 · source

impl Debug for AtomicU64

1.3.0 · source

impl Debug for AtomicUsize

source

impl Debug for RecvError

1.16.0 · source

impl Debug for Barrier

1.16.0 · source

impl Debug for BarrierWaitResult

1.16.0 · source

impl Debug for Condvar

1.16.0 · source

impl Debug for std::sync::Once

1.51.0 · source

impl Debug for OnceState

1.5.0 · source

impl Debug for WaitTimeoutResult

1.36.0 · source

impl Debug for Context<'_>

1.36.0 · source

impl Debug for RawWaker

1.36.0 · source

impl Debug for RawWakerVTable

1.36.0 · source

impl Debug for Waker

1.26.0 · source

impl Debug for AccessError

source

impl Debug for Builder

1.63.0 · source

impl Debug for Scope<'_, '_>

source

impl Debug for Thread

1.19.0 · source

impl Debug for ThreadId

1.27.0 · source

impl Debug for Duration

source

impl Debug for FromFloatSecsError

1.8.0 · source

impl Debug for Instant

1.8.0 · source

impl Debug for SystemTime

1.8.0 · source

impl Debug for SystemTimeError

source

impl Debug for Arguments<'_>

source

impl Debug for std::fmt::Error

source

impl Debug for dyn Any + 'static

source

impl Debug for dyn Any + Send + 'static

1.28.0 · source

impl Debug for dyn Any + Sync + Send + 'static

source

impl<'a> Debug for Component<'a>

source

impl<'a> Debug for Prefix<'a>

source

impl<'a> Debug for Utf8LossyChunk<'a>

source

impl<'a> Debug for Demand<'a>

source

impl<'a> Debug for std::error::Chain<'a>

1.36.0 · source

impl<'a> Debug for IoSlice<'a>

1.36.0 · source

impl<'a> Debug for IoSliceMut<'a>

source

impl<'a> Debug for std::net::Incoming<'a>

1.10.0 · source

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

Available on Unix only.
source

impl<'a> Debug for SocketAncillary<'a>

Available on (Android or Linux) and Unix only.
1.10.0 · source

impl<'a> Debug for Location<'a>

1.10.0 · source

impl<'a> Debug for PanicInfo<'a>

1.28.0 · source

impl<'a> Debug for Ancestors<'a>

source

impl<'a> Debug for PrefixComponent<'a>

1.57.0 · source

impl<'a> Debug for CommandArgs<'a>

1.57.0 · source

impl<'a> Debug for CommandEnvs<'a>

1.60.0 · source

impl<'a> Debug for EscapeAscii<'a>

source

impl<'a> Debug for CharSearcher<'a>

source

impl<'a> Debug for std::str::Bytes<'a>

source

impl<'a> Debug for CharIndices<'a>

1.34.0 · source

impl<'a> Debug for std::str::EscapeDebug<'a>

1.34.0 · source

impl<'a> Debug for std::str::EscapeDefault<'a>

1.34.0 · source

impl<'a> Debug for std::str::EscapeUnicode<'a>

source

impl<'a> Debug for std::str::Lines<'a>

source

impl<'a> Debug for LinesAny<'a>

1.34.0 · source

impl<'a> Debug for SplitAsciiWhitespace<'a>

1.1.0 · source

impl<'a> Debug for SplitWhitespace<'a>

source

impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>

source

impl<'a, 'b> Debug for StrSearcher<'a, 'b>

source

impl<'a, 'b, const N: usize> Debug for CharArrayRefSearcher<'a, 'b, N>

source

impl<'a, 'f> Debug for VaList<'a, 'f> where
'f: 'a,

source

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

source

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

source

impl<'a, I> Debug for ByRefSized<'a, I> where
I: Debug,

1.21.0 · source

impl<'a, I, A> Debug for Splice<'a, I, A> where
I: 'a + Debug + Iterator,
A: 'a + Debug + Allocator,
<I as Iterator>::Item: Debug,

source

impl<'a, K, F> Debug for std::collections::hash_set::DrainFilter<'a, K, F> where
F: FnMut(&K) -> bool,

source

impl<'a, K, V, F> Debug for std::collections::hash_map::DrainFilter<'a, K, V, F> where
F: FnMut(&K, &mut V) -> bool,

1.5.0 · source

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

1.2.0 · source

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

1.5.0 · source

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

1.2.0 · source

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

source

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

source

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

source

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

source

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

1.51.0 · source

impl<'a, P> Debug for std::str::SplitInclusive<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,

source

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

source

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

1.6.0 · source

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

source

impl<'a, T> Debug for DrainSorted<'a, T> where
T: Debug + Ord,

1.17.0 · source

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

source

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

source

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

source

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

1.31.0 · source

impl<'a, T> Debug for ChunksExact<'a, T> where
T: 'a + Debug,

1.31.0 · source

impl<'a, T> Debug for ChunksExactMut<'a, T> where
T: 'a + Debug,

source

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

1.31.0 · source

impl<'a, T> Debug for RChunks<'a, T> where
T: 'a + Debug,

1.31.0 · source

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

1.31.0 · source

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

1.31.0 · source

impl<'a, T> Debug for RChunksMut<'a, T> where
T: 'a + Debug,

source

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

source

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

source

impl<'a, T, P> Debug for GroupBy<'a, T, P> where
T: 'a + Debug,

source

impl<'a, T, P> Debug for GroupByMut<'a, T, P> where
T: 'a + Debug,

source

impl<'a, T, const N: usize> Debug for ArrayChunks<'a, T, N> where
T: 'a + Debug,

source

impl<'a, T, const N: usize> Debug for ArrayChunksMut<'a, T, N> where
T: 'a + Debug,

source

impl<'a, T, const N: usize> Debug for ArrayWindows<'a, T, N> where
T: 'a + Debug,

source

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

1.15.0 · source

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

source

impl<'a, const N: usize> Debug for CharArraySearcher<'a, N>

source

impl<'f> Debug for VaListImpl<'f>

1.63.0 · source

impl<'scope, T> Debug for ScopedJoinHandle<'scope, T>

source

impl<A> Debug for std::iter::Repeat<A> where
A: Debug,

source

impl<A> Debug for std::option::IntoIter<A> where
A: Debug,

source

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

source

impl<A, B> Debug for Zip<A, B> where
A: Debug,
B: Debug,

source

impl<B> Debug for Cow<'_, B> where
B: Debug + ToOwned + ?Sized,
<B as ToOwned>::Owned: Debug,

1.55.0 · source

impl<B, C> Debug for ControlFlow<B, C> where
B: Debug,
C: Debug,

source

impl<B: Debug> Debug for std::io::Lines<B>

source

impl<B: Debug> Debug for std::io::Split<B>

source

impl<Dyn> Debug for DynMetadata<Dyn> where
Dyn: ?Sized,

source

impl<E> Debug for Report<E> where
Report<E>: Display,

1.64.0 · source

impl<F> Debug for PollFn<F>

1.34.0 · source

impl<F> Debug for FromFn<F>

1.43.0 · source

impl<F> Debug for OnceWith<F> where
F: Debug,

1.28.0 · source

impl<F> Debug for RepeatWith<F> where
F: Debug,

source

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

1.9.0 · source

impl<H> Debug for BuildHasherDefault<H>

source

impl<I> Debug for FromIter<I> where
I: Debug,

1.9.0 · source

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

1.1.0 · source

impl<I> Debug for Cloned<I> where
I: Debug,

1.36.0 · source

impl<I> Debug for Copied<I> where
I: Debug,

source

impl<I> Debug for Cycle<I> where
I: Debug,

source

impl<I> Debug for Enumerate<I> where
I: Debug,

source

impl<I> Debug for Fuse<I> where
I: Debug,

source

impl<I> Debug for Intersperse<I> where
I: Debug + Iterator,
<I as Iterator>::Item: Clone,
<I as Iterator>::Item: Debug,

source

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

source

impl<I> Debug for Skip<I> where
I: Debug,

1.28.0 · source

impl<I> Debug for StepBy<I> where
I: Debug,

source

impl<I> Debug for std::iter::Take<I> where
I: Debug,

1.9.0 · source

impl<I, F> Debug for FilterMap<I, F> where
I: Debug,

1.9.0 · source

impl<I, F> Debug for Inspect<I, F> where
I: Debug,

1.9.0 · source

impl<I, F> Debug for Map<I, F> where
I: Debug,

source

impl<I, G> Debug for IntersperseWith<I, G> where
I: Iterator + Debug,
G: Debug,
<I as Iterator>::Item: Debug,

1.9.0 · source

impl<I, P> Debug for Filter<I, P> where
I: Debug,

1.57.0 · source

impl<I, P> Debug for MapWhile<I, P> where
I: Debug,

1.9.0 · source

impl<I, P> Debug for SkipWhile<I, P> where
I: Debug,

1.9.0 · source

impl<I, P> Debug for TakeWhile<I, P> where
I: Debug,

1.9.0 · source

impl<I, St, F> Debug for Scan<I, St, F> where
I: Debug,
St: Debug,

1.29.0 · source

impl<I, U> Debug for Flatten<I> where
I: Debug + Iterator,
U: Debug + Iterator,
<I as Iterator>::Item: IntoIterator,
<<I as Iterator>::Item as IntoIterator>::IntoIter == U,
<<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item,

1.9.0 · source

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

source

impl<Idx> Debug for std::ops::Range<Idx> where
Idx: Debug,

source

impl<Idx> Debug for RangeFrom<Idx> where
Idx: Debug,

1.26.0 · source

impl<Idx> Debug for RangeInclusive<Idx> where
Idx: Debug,

source

impl<Idx> Debug for RangeTo<Idx> where
Idx: Debug,

1.26.0 · source

impl<Idx> Debug for RangeToInclusive<Idx> where
Idx: Debug,

1.17.0 · source

impl<K, V> Debug for std::collections::btree_map::Iter<'_, K, V> where
K: Debug,
V: Debug,

1.17.0 · source

impl<K, V> Debug for std::collections::btree_map::IterMut<'_, K, V> where
K: Debug,
V: Debug,

1.17.0 · source

impl<K, V> Debug for std::collections::btree_map::Keys<'_, K, V> where
K: Debug,

1.17.0 · source

impl<K, V> Debug for std::collections::btree_map::Range<'_, K, V> where
K: Debug,
V: Debug,

1.17.0 · source

impl<K, V> Debug for RangeMut<'_, K, V> where
K: Debug,
V: Debug,

1.17.0 · source

impl<K, V> Debug for std::collections::btree_map::Values<'_, K, V> where
V: Debug,

1.10.0 · source

impl<K, V> Debug for std::collections::btree_map::ValuesMut<'_, K, V> where
V: Debug,

1.16.0 · source

impl<K, V> Debug for std::collections::hash_map::Drain<'_, K, V> where
K: Debug,
V: Debug,

1.16.0 · source

impl<K, V> Debug for std::collections::hash_map::IterMut<'_, K, V> where
K: Debug,
V: Debug,

1.12.0 · source

impl<K, V, A> Debug for std::collections::btree_map::Entry<'_, K, V, A> where
K: Debug + Ord,
V: Debug,
A: Allocator + Clone,

1.17.0 · source

impl<K, V, A> Debug for std::collections::btree_map::IntoIter<K, V, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,

1.54.0 · source

impl<K, V, A> Debug for std::collections::btree_map::IntoKeys<K, V, A> where
K: Debug,
A: Allocator + Clone,

1.54.0 · source

impl<K, V, A> Debug for std::collections::btree_map::IntoValues<K, V, A> where
V: Debug,
A: Allocator + Clone,

1.12.0 · source

impl<K, V, A> Debug for std::collections::btree_map::OccupiedEntry<'_, K, V, A> where
K: Debug + Ord,
V: Debug,
A: Allocator + Clone,

source

impl<K, V, A> Debug for std::collections::btree_map::OccupiedError<'_, K, V, A> where
K: Debug + Ord,
V: Debug,
A: Allocator + Clone,

1.12.0 · source

impl<K, V, A> Debug for std::collections::btree_map::VacantEntry<'_, K, V, A> where
K: Debug + Ord,
A: Allocator + Clone,

source

impl<K, V, A> Debug for BTreeMap<K, V, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,

source

impl<K, V, F> Debug for std::collections::btree_map::DrainFilter<'_, K, V, F, Global> where
K: Debug,
V: Debug,
F: FnMut(&K, &mut V) -> bool,

source

impl<K, V, S> Debug for HashMap<K, V, S> where
K: Debug,
V: Debug,

source

impl<K, V, S> Debug for RawEntryBuilder<'_, K, V, S>

source

impl<K, V, S> Debug for RawEntryBuilderMut<'_, K, V, S>

source

impl<K, V, S> Debug for RawVacantEntryMut<'_, K, V, S>

1.54.0 · source

impl<K, V: Debug> Debug for std::collections::hash_map::IntoValues<K, V>

1.16.0 · source

impl<K, V: Debug> Debug for std::collections::hash_map::Values<'_, K, V>

1.16.0 · source

impl<K, V: Debug> Debug for std::collections::hash_map::ValuesMut<'_, K, V>

1.16.0 · source

impl<K: Debug> Debug for std::collections::hash_set::Drain<'_, K>

1.16.0 · source

impl<K: Debug> Debug for std::collections::hash_set::IntoIter<K>

1.16.0 · source

impl<K: Debug> Debug for std::collections::hash_set::Iter<'_, K>

1.54.0 · source

impl<K: Debug, V> Debug for std::collections::hash_map::IntoKeys<K, V>

1.16.0 · source

impl<K: Debug, V> Debug for std::collections::hash_map::Keys<'_, K, V>

1.12.0 · source

impl<K: Debug, V> Debug for std::collections::hash_map::VacantEntry<'_, K, V>

1.12.0 · source

impl<K: Debug, V: Debug> Debug for std::collections::hash_map::Entry<'_, K, V>

1.16.0 · source

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

1.16.0 · source

impl<K: Debug, V: Debug> Debug for std::collections::hash_map::Iter<'_, K, V>

1.12.0 · source

impl<K: Debug, V: Debug> Debug for std::collections::hash_map::OccupiedEntry<'_, K, V>

source

impl<K: Debug, V: Debug> Debug for std::collections::hash_map::OccupiedError<'_, K, V>

source

impl<K: Debug, V: Debug, S> Debug for RawEntryMut<'_, K, V, S>

source

impl<K: Debug, V: Debug, S> Debug for RawOccupiedEntryMut<'_, K, V, S>

1.33.0 · source

impl<P> Debug for Pin<P> where
P: Debug,

source

impl<R> Debug for BufReader<R> where
R: Debug,

source

impl<R: Debug> Debug for std::io::Bytes<R>

1.4.0 · source

impl<Ret, T> Debug for fn (T1, T2, ..., Tn) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.4.0 · source

impl<Ret, T> Debug for extern "C" fn (T1, T2, ..., Tn) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.4.0 · source

impl<Ret, T> Debug for extern "C" fn (T1, T2, ..., Tn, ...) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.4.0 · source

impl<Ret, T> Debug for unsafe fn (T1, T2, ..., Tn) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.4.0 · source

impl<Ret, T> Debug for unsafe extern "C" fn (T1, T2, ..., Tn) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.4.0 · source

impl<Ret, T> Debug for unsafe extern "C" fn (T1, T2, ..., Tn, ...) -> Ret

This trait is implemented for function pointers with up to twelve arguments.

1.17.0 · source

impl<T> Debug for Bound<T> where
T: Debug,

source

impl<T> Debug for Option<T> where
T: Debug,

source

impl<T> Debug for TryLockError<T>

source

impl<T> Debug for TrySendError<T>

1.36.0 · source

impl<T> Debug for Poll<T> where
T: Debug,

source

impl<T> Debug for *const T where
T: ?Sized,

source

impl<T> Debug for *mut T where
T: ?Sized,

source

impl<T> Debug for &T where
T: Debug + ?Sized,

source

impl<T> Debug for &mut T where
T: Debug + ?Sized,

source

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

source

impl<T> Debug for (T1, T2, ..., Tn) where
T: Debug + ?Sized,

This trait is implemented for tuples up to twelve items long.

source

impl<T> Debug for ThinBox<T> where
T: Debug + ?Sized,

source

impl<T> Debug for Cell<T> where
T: Copy + Debug,

source

impl<T> Debug for OnceCell<T> where
T: Debug,

source

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

source

impl<T> Debug for RefCell<T> where
T: Debug + ?Sized,

source

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

source

impl<T> Debug for SyncUnsafeCell<T> where
T: ?Sized,

1.9.0 · source

impl<T> Debug for UnsafeCell<T> where
T: ?Sized,

1.19.0 · source

impl<T> Debug for Reverse<T> where
T: Debug,

1.17.0 · source

impl<T> Debug for std::collections::binary_heap::IntoIter<T> where
T: Debug,

source

impl<T> Debug for IntoIterSorted<T> where
T: Debug,

1.17.0 · source

impl<T> Debug for std::collections::binary_heap::Iter<'_, T> where
T: Debug,

1.17.0 · source

impl<T> Debug for PeekMut<'_, T> where
T: Ord + Debug,

1.17.0 · source

impl<T> Debug for std::collections::btree_set::Iter<'_, T> where
T: Debug,

1.17.0 · source

impl<T> Debug for std::collections::btree_set::SymmetricDifference<'_, T> where
T: Debug,

1.17.0 · source

impl<T> Debug for std::collections::btree_set::Union<'_, T> where
T: Debug,

source

impl<T> Debug for std::collections::linked_list::Cursor<'_, T> where
T: Debug,

source

impl<T> Debug for CursorMut<'_, T> where
T: Debug,

1.17.0 · source

impl<T> Debug for std::collections::linked_list::IntoIter<T> where
T: Debug,

1.17.0 · source

impl<T> Debug for std::collections::linked_list::Iter<'_, T> where
T: Debug,

1.17.0 · source

impl<T> Debug for std::collections::linked_list::IterMut<'_, T> where
T: Debug,

1.4.0 · source

impl<T> Debug for BinaryHeap<T> where
T: Debug,

source

impl<T> Debug for LinkedList<T> where
T: Debug,

1.17.0 · source

impl<T> Debug for std::collections::vec_deque::Iter<'_, T> where
T: Debug,

1.17.0 · source

impl<T> Debug for std::collections::vec_deque::IterMut<'_, T> where
T: Debug,

1.48.0 · source

impl<T> Debug for Pending<T>

1.48.0 · source

impl<T> Debug for std::future::Ready<T> where
T: Debug,

1.9.0 · source

impl<T> Debug for std::iter::Empty<T>

1.2.0 · source

impl<T> Debug for std::iter::Once<T> where
T: Debug,

source

impl<T> Debug for Rev<T> where
T: Debug,

source

impl<T> Debug for PhantomData<T> where
T: ?Sized,

1.21.0 · source

impl<T> Debug for Discriminant<T>

1.20.0 · source

impl<T> Debug for ManuallyDrop<T> where
T: Debug + ?Sized,

source

impl<T> Debug for Saturating<T> where
T: Debug,

source

impl<T> Debug for Wrapping<T> where
T: Debug,

source

impl<T> Debug for Yeet<T> where
T: Debug,

1.16.0 · source

impl<T> Debug for AssertUnwindSafe<T> where
T: Debug,

1.25.0 · source

impl<T> Debug for NonNull<T> where
T: ?Sized,

source

impl<T> Debug for Rc<T> where
T: Debug + ?Sized,

1.4.0 · source

impl<T> Debug for std::rc::Weak<T> where
T: Debug + ?Sized,

source

impl<T> Debug for std::result::IntoIter<T> where
T: Debug,

1.9.0 · source

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

1.9.0 · source

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

1.3.0 · source

impl<T> Debug for AtomicPtr<T>

1.8.0 · source

impl<T> Debug for Receiver<T>

source

impl<T> Debug for SendError<T>

1.8.0 · source

impl<T> Debug for Sender<T>

1.8.0 · source

impl<T> Debug for SyncSender<T>

source

impl<T> Debug for Arc<T> where
T: Debug + ?Sized,

source

impl<T> Debug for Exclusive<T> where
T: ?Sized,

source

impl<T> Debug for PoisonError<T>

1.4.0 · source

impl<T> Debug for std::sync::Weak<T> where
T: Debug + ?Sized,

source

impl<T> Debug for std::task::Ready<T>

1.16.0 · source

impl<T> Debug for JoinHandle<T>

1.41.0 · source

impl<T> Debug for MaybeUninit<T>

source

impl<T, A> Debug for Box<T, A> where
T: Debug + ?Sized,
A: Allocator,

1.17.0 · source

impl<T, A> Debug for std::collections::btree_set::Difference<'_, T, A> where
T: Debug,
A: Allocator + Clone,

1.17.0 · source

impl<T, A> Debug for std::collections::btree_set::Intersection<'_, T, A> where
T: Debug,
A: Allocator + Clone,

source

impl<T, A> Debug for std::collections::btree_set::IntoIter<T, A> where
T: Debug,
A: Debug + Allocator + Clone,

source

impl<T, A> Debug for BTreeSet<T, A> where
T: Debug,
A: Allocator + Clone,

source

impl<T, A> Debug for VecDeque<T, A> where
T: Debug,
A: Allocator,

1.17.0 · source

impl<T, A> Debug for std::collections::vec_deque::Drain<'_, T, A> where
T: Debug,
A: Allocator,

1.17.0 · source

impl<T, A> Debug for std::collections::vec_deque::IntoIter<T, A> where
T: Debug,
A: Allocator,

1.17.0 · source

impl<T, A> Debug for std::vec::Drain<'_, T, A> where
T: Debug,
A: Allocator,

1.13.0 · source

impl<T, A> Debug for std::vec::IntoIter<T, A> where
T: Debug,
A: Allocator,

source

impl<T, A> Debug for Vec<T, A> where
T: Debug,
A: Allocator,

source

impl<T, E> Debug for Result<T, E> where
T: Debug,
E: Debug,

source

impl<T, F> Debug for LazyCell<T, F> where
T: Debug,

source

impl<T, F> Debug for std::collections::linked_list::DrainFilter<'_, T, F> where
T: Debug,
F: FnMut(&mut T) -> bool,

1.34.0 · source

impl<T, F> Debug for Successors<T, F> where
T: Debug,

source

impl<T, F, A> Debug for std::collections::btree_set::DrainFilter<'_, T, F, A> where
A: Allocator + Clone,
T: Debug,
F: FnMut(&T) -> bool,

1.27.0 · source

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

1.27.0 · source

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

1.9.0 · source

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

1.9.0 · source

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

1.9.0 · source

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

1.51.0 · source

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

1.51.0 · source

impl<T, P> Debug for SplitInclusiveMut<'_, T, P> where
T: Debug,
P: FnMut(&T) -> bool,

1.9.0 · source

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

1.9.0 · source

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

1.9.0 · source

impl<T, P> Debug for SplitNMut<'_, T, P> where
T: Debug,
P: FnMut(&T) -> bool,

1.16.0 · source

impl<T, S> Debug for std::collections::hash_set::Difference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,

source

impl<T, S> Debug for HashSet<T, S> where
T: Debug,

1.16.0 · source

impl<T, S> Debug for std::collections::hash_set::Intersection<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,

1.16.0 · source

impl<T, S> Debug for std::collections::hash_set::SymmetricDifference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,

1.16.0 · source

impl<T, S> Debug for std::collections::hash_set::Union<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,

source

impl<T, const LANES: usize> Debug for Mask<T, LANES> where
T: MaskElement + Debug,
LaneCount<LANES>: SupportedLaneCount,

source

impl<T, const LANES: usize> Debug for Simd<T, LANES> where
T: SimdElement + Debug,
LaneCount<LANES>: SupportedLaneCount,

source

impl<T, const N: usize> Debug for [T; N] where
T: Debug,

1.40.0 · source

impl<T, const N: usize> Debug for std::array::IntoIter<T, N> where
T: Debug,

1.16.0 · source

impl<T: 'static> Debug for LocalKey<T>

source

impl<T: Debug> Debug for std::io::Cursor<T>

source

impl<T: Debug> Debug for std::io::Take<T>

1.1.0 · source

impl<T: Debug> Debug for std::sync::mpsc::IntoIter<T>

source

impl<T: Debug> Debug for OnceLock<T>

1.16.0 · source

impl<T: Debug> Debug for RwLockReadGuard<'_, T>

1.16.0 · source

impl<T: Debug> Debug for RwLockWriteGuard<'_, T>

source

impl<T: Debug, F> Debug for LazyLock<T, F>

source

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

source

impl<T: ?Sized + Debug> Debug for Mutex<T>

1.16.0 · source

impl<T: ?Sized + Debug> Debug for MutexGuard<'_, T>

source

impl<T: ?Sized + Debug> Debug for RwLock<T>

source

impl<W: Write> Debug for BufWriter<W> where
W: Debug,

source

impl<W: Write> Debug for LineWriter<W> where
W: Debug,

source

impl<W: Debug> Debug for IntoInnerError<W>

source

impl<Y, R> Debug for GeneratorState<Y, R> where
Y: Debug,
R: Debug,

AltStyle によって変換されたページ (->オリジナル) /