Trait alloc::fmt::Debug 1.0.0
[−]
[src]
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
derive
d 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
enum
s, it will use the name of the variant and, if applicable, (
, then the
Debug
values of the fields, then )
.
Examples
Deriving an implementation:
#[derive(Debug)] struct Point { x: i32, y: i32, } let origin = Point { x: 0, y: 0 }; println!("The origin is: {:?}", origin);
Manually implementing:
use std::fmt; struct Point { x: i32, y: i32, } impl fmt::Debug for Point { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "Point {{ x: {}, y: {} }}", self.x, self.y) } } let origin = Point { x: 0, y: 0 }; println!("The origin is: {:?}", origin);
This outputs:
The origin is: Point { x: 0, y: 0 }
There are a number of debug_*
methods on Formatter
to help you with manual
implementations, such as debug_struct
.
Debug
implementations using either derive
or the debug builder API
on Formatter
support pretty printing using the alternate flag: {:#?}
.
Pretty printing with #?
:
#[derive(Debug)] struct Point { x: i32, y: i32, } let origin = Point { x: 0, y: 0 }; println!("The origin is: {:#?}", origin);
This outputs:
The origin is: Point {
x: 0,
y: 0
}
Required Methods
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, }));
Implementations on Foreign Types
impl<'b, T> Debug for Ref<'b, T> where
T: Debug + ?Sized,
[src]
T: Debug + ?Sized,
impl<T> Debug for UnsafeCell<T> where
T: Debug + ?Sized,
[src]
T: Debug + ?Sized,
impl<T> Debug for NonNull<T> where
T: ?Sized,
[src]
T: ?Sized,
impl<I> Debug for Skip<I> where
I: Debug,
[src]
I: Debug,
impl Debug for InvalidSequence
[src]
impl Debug for CharTryFromError
[src]
impl Debug for AtomicU16
[src]
impl Debug for Any + 'static + Send
[src]
impl Debug for AtomicBool
[src]
impl<A> Debug for IntoIter<A> where
A: Debug,
[src]
A: Debug,
impl Debug for FpCategory
[src]
impl Debug for AtomicUsize
[src]
impl Debug for TypeId
[src]
impl Debug for EscapeDebug
[src]
impl<I> Debug for Fuse<I> where
I: Debug,
[src]
I: Debug,
impl<T> Debug for RefCell<T> where
T: Debug + ?Sized,
[src]
T: Debug + ?Sized,
impl<I, St, F> Debug for Scan<I, St, F> where
I: Debug,
St: Debug,
[src]
I: Debug,
St: Debug,
impl<I, P> Debug for Filter<I, P> where
I: Debug,
[src]
I: Debug,
impl Debug for AtomicIsize
[src]
impl<A, B> Debug for Zip<A, B> where
A: Debug,
B: Debug,
[src]
A: Debug,
B: Debug,
impl Debug for AtomicU8
[src]
impl Debug for TryFromIntError
[src]
impl Debug for BorrowError
[src]
impl<T> Debug for NonZero<T> where
T: Zeroable + Debug,
[src]
T: Zeroable + Debug,
impl<I, F> Debug for Map<I, F> where
I: Debug,
[src]
I: Debug,
impl<T> Debug for IntoIter<T> where
T: Debug,
[src]
T: Debug,
impl Debug for AtomicI16
[src]
impl<I, U, F> Debug for FlatMap<I, U, F> where
I: Debug,
U: IntoIterator,
<U as IntoIterator>::IntoIter: Debug,
[src]
I: Debug,
U: IntoIterator,
<U as IntoIterator>::IntoIter: Debug,
impl Debug for AtomicI8
[src]
impl Debug for Ordering
[src]
impl Debug for SipHasher
[src]
impl<T> Debug for Rev<T> where
T: Debug,
[src]
T: Debug,
impl Debug for AtomicU32
[src]
impl<Idx> Debug for Range<Idx> where
Idx: Debug,
[src]
Idx: Debug,
impl Debug for AtomicU64
[src]
impl<T> Debug for Empty<T>
[src]
impl Debug for SipHasher13
[src]
impl<I> Debug for Cloned<I> where
I: Debug,
[src]
I: Debug,
impl<I, F> Debug for Inspect<I, F> where
I: Debug,
[src]
I: Debug,
impl Debug for Ordering
[src]
impl Debug for Alignment
[src]
impl<A> Debug for Repeat<A> where
A: Debug,
[src]
A: Debug,
impl<'b, T> Debug for RefMut<'b, T> where
T: Debug + ?Sized,
[src]
T: Debug + ?Sized,
impl<T> Debug for Once<T> where
T: Debug,
[src]
T: Debug,
impl Debug for TryFromSliceError
[src]
impl Debug for RangeFull
[src]
impl Debug for Infallible
[src]
impl<I> Debug for StepBy<I> where
I: Debug,
[src]
I: Debug,
impl<I, P> Debug for SkipWhile<I, P> where
I: Debug,
[src]
I: Debug,
impl Debug for EscapeDefault
[src]
impl Debug for AtomicI32
[src]
impl<Idx> Debug for RangeFrom<Idx> where
Idx: Debug,
[src]
Idx: Debug,
impl<T> Debug for Option<T> where
T: Debug,
[src]
T: Debug,
impl<T> Debug for PhantomData<T> where
T: ?Sized,
[src]
T: ?Sized,
impl<Idx> Debug for RangeTo<Idx> where
Idx: Debug,
[src]
Idx: Debug,
impl<'a, A> Debug for IterMut<'a, A> where
A: 'a + Debug,
[src]
A: 'a + Debug,
impl<I> Debug for Peekable<I> where
I: Iterator + Debug,
<I as Iterator>::Item: Debug,
[src]
I: Iterator + Debug,
<I as Iterator>::Item: Debug,
impl Debug for ParseCharError
[src]
impl<T> Debug for ManuallyDrop<T> where
T: Debug,
[src]
T: Debug,
impl<Y, R> Debug for GeneratorState<Y, R> where
R: Debug,
Y: Debug,
[src]
R: Debug,
Y: Debug,
impl<T> Debug for Reverse<T> where
T: Debug,
[src]
T: Debug,
impl<Idx> Debug for RangeInclusive<Idx> where
Idx: Debug,
[src]
Idx: Debug,
impl Debug for NoneError
[src]
impl<'a, T> Debug for Iter<'a, T> where
T: 'a + Debug,
[src]
T: 'a + Debug,
impl Debug for AtomicI64
[src]
impl Debug for BorrowMutError
[src]
impl<I> Debug for Cycle<I> where
I: Debug,
[src]
I: Debug,
impl<I> Debug for Take<I> where
I: Debug,
[src]
I: Debug,
impl Debug for ParseIntError
[src]
impl Debug for Any + 'static
[src]
impl<I, P> Debug for TakeWhile<I, P> where
I: Debug,
[src]
I: Debug,
impl<H> Debug for BuildHasherDefault<H>
[src]
impl<T> Debug for Wrapping<T> where
T: Debug,
[src]
T: Debug,
impl<A, B> Debug for Chain<A, B> where
A: Debug,
B: Debug,
[src]
A: Debug,
B: Debug,
impl<I> Debug for Enumerate<I> where
I: Debug,
[src]
I: Debug,
impl<'a, T> Debug for IterMut<'a, T> where
T: 'a + Debug,
[src]
T: 'a + Debug,
impl Debug for Duration
[src]
impl Debug for ParseFloatError
[src]
impl<T, E> Debug for Result<T, E> where
E: Debug,
T: Debug,
[src]
E: Debug,
T: Debug,
impl<Idx> Debug for RangeToInclusive<Idx> where
Idx: Debug,
[src]
Idx: Debug,
impl<T> Debug for Unique<T> where
T: ?Sized,
[src]
T: ?Sized,
impl<I, F> Debug for FilterMap<I, F> where
I: Debug,
[src]
I: Debug,
impl Debug for SipHasher24
[src]
impl<I> Debug for DecodeUtf8<I> where
I: Iterator<Item = u8> + Debug,
[src]
I: Iterator<Item = u8> + Debug,
impl<T> Debug for Discriminant<T>
[src]
impl Debug for EscapeUnicode
[src]
impl<T> Debug for AtomicPtr<T>
[src]
impl<T> Debug for Cell<T> where
T: Copy + Debug,
[src]
T: Copy + Debug,
impl<'a, A> Debug for Iter<'a, A> where
A: 'a + Debug,
[src]
A: 'a + Debug,
impl Debug for Utf8Lossy
[src]
impl<'a> Debug for Utf8LossyChunk<'a>
[src]
impl Debug for DecodeUtf16Error
[src]
impl Debug for ToLowercase
[src]
impl<I> Debug for DecodeUtf16<I> where
I: Debug + Iterator<Item = u16>,
[src]
I: Debug + Iterator<Item = u16>,
impl Debug for ToUppercase
[src]
impl Debug for UnicodeVersion
[src]
Implementors
impl Debug for Excess
impl Debug for Layout
impl Debug for AllocErr
impl Debug for CannotReallocInPlace
impl Debug for Heap
impl<T: Debug + ?Sized> Debug for Box<T>
impl<T: ?Sized + Debug> Debug for alloc::arc::Weak<T>
impl<T: ?Sized + Debug> Debug for Arc<T>
impl<T: ?Sized + Debug> Debug for Rc<T>
impl<T: ?Sized + Debug> Debug for alloc::rc::Weak<T>
impl<'a, T: Ord + Debug> Debug for PeekMut<'a, T>
impl<T: Debug + Ord> Debug for BinaryHeap<T>
impl<'a, T: 'a + Debug> Debug for alloc::binary_heap::Iter<'a, T>
impl<T: Debug> Debug for alloc::binary_heap::IntoIter<T>
impl<'a, T: Debug + 'a> Debug for alloc::binary_heap::Drain<'a, T>
impl<'a, T: Clone + Ord + Debug> Debug for BinaryHeapPlace<'a, T>
impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for alloc::btree_map::Iter<'a, K, V>
impl<'a, K: Debug + 'a, V: Debug + 'a> Debug for alloc::btree_map::IterMut<'a, K, V>
impl<K: Debug, V: Debug> Debug for alloc::btree_map::IntoIter<K, V>
impl<'a, K: 'a + Debug, V: 'a> Debug for Keys<'a, K, V>
impl<'a, K: 'a, V: 'a + Debug> Debug for Values<'a, K, V>
impl<'a, K: Debug + 'a, V: Debug + 'a> Debug for ValuesMut<'a, K, V>
impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for alloc::btree_map::Range<'a, K, V>
impl<'a, K: 'a + Debug, V: 'a + Debug> Debug for RangeMut<'a, K, V>
impl<'a, K: 'a + Debug + Ord, V: 'a + Debug> Debug for Entry<'a, K, V>
impl<'a, K: 'a + Debug + Ord, V: 'a> Debug for VacantEntry<'a, K, V>
impl<'a, K: 'a + Debug + Ord, V: 'a + Debug> Debug for OccupiedEntry<'a, K, V>
impl<K: Debug, V: Debug> Debug for BTreeMap<K, V>
impl<'a, T: 'a + Debug> Debug for alloc::btree_set::Iter<'a, T>
impl<T: Debug> Debug for alloc::btree_set::IntoIter<T>
impl<'a, T: Debug + 'a> Debug for alloc::btree_set::Range<'a, T>
impl<'a, T: 'a + Debug> Debug for Difference<'a, T>
impl<'a, T: 'a + Debug> Debug for SymmetricDifference<'a, T>
impl<'a, T: 'a + Debug> Debug for Intersection<'a, T>
impl<'a, T: 'a + Debug> Debug for Union<'a, T>
impl<T: Debug> Debug for BTreeSet<T>
impl<'a, F> Debug for CharPredicateSearcher<'a, F> where
F: FnMut(char) -> bool,impl Debug for u8
impl Debug for i64
impl<Ret, A, B, C> Debug for unsafe fn(A, B, C) -> Ret
impl Debug for i32
impl<Ret, A, B, C, D, E> Debug for unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret
impl<'a, T, P> Debug for alloc::slice::SplitN<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,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
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
impl<Ret, A> Debug for extern "C" fn(A, ...) -> Ret
impl<T> Debug for [T; 6] where
T: Debug,impl<Ret, A, B, C, D, E> Debug for unsafe extern "C" fn(A, B, C, D, E) -> Ret
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
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
impl<T> Debug for [T; 16] where
T: Debug,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,impl<Ret> Debug for unsafe extern "C" fn() -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Debug for fn(A, B, C, D, E, F, G, H, I) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
impl<Ret, A, B> Debug for unsafe extern "C" fn(A, B, ...) -> Ret
impl<'a, P> Debug for RSplitTerminator<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<T> Debug for [T; 3] where
T: Debug,impl<'a, T, P> Debug for alloc::slice::Split<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<Ret, A, B, C> Debug for extern "C" fn(A, B, C) -> Ret
impl<T> Debug for [T; 1] where
T: Debug,impl<'a, P> Debug for Matches<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<T> Debug for [T; 5] where
T: Debug,impl Debug for i8
impl<'a> Debug for Bytes<'a>
impl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
impl<'a> Debug for Chars<'a>
impl<T> Debug for [T; 20] where
T: Debug,impl<T> Debug for [T; 32] where
T: Debug,impl<T> Debug for [T; 23] where
T: Debug,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
impl<Ret, A, B, C, D, E> Debug for unsafe fn(A, B, C, D, E) -> Ret
impl<Ret, A, B, C, D, E> Debug for fn(A, B, C, D, E) -> Ret
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
impl Debug for ParseBoolError
impl<Ret, A, B, C, D> Debug for unsafe fn(A, B, C, D) -> Ret
impl<T> Debug for [T; 14] where
T: Debug,impl<'a> Debug for CharIndices<'a>
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
impl<Ret, A, B> Debug for unsafe extern "C" fn(A, B) -> Ret
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
impl Debug for ()
impl<Ret, A, B, C, D, E, F, G, H> Debug for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
impl<Ret, A, B, C, D, E, F> Debug for unsafe extern "C" fn(A, B, C, D, E, F) -> Ret
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
impl<'a, T, P> Debug for alloc::slice::RSplitN<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<'a> Debug for Arguments<'a>
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,impl Debug for bool
impl<'a, T, P> Debug for RSplitNMut<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<'a, T> Debug for ChunksMut<'a, T> where
T: 'a + Debug,impl<T> Debug for [T; 27] where
T: Debug,impl<'a, T> Debug for &'a mut T where
T: Debug + ?Sized,impl<Ret, A, B, C, D, E, F> Debug for extern "C" fn(A, B, C, D, E, F) -> Ret
impl<Ret, A, B, C, D> Debug for extern "C" fn(A, B, C, D) -> Ret
impl<T> Debug for [T; 24] where
T: Debug,impl<Ret, A, B, C> Debug for extern "C" fn(A, B, C, ...) -> Ret
impl<Ret, A, B, C, D, E, F> Debug for unsafe extern "C" fn(A, B, C, D, E, F, ...) -> Ret
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
impl<T> Debug for [T; 31] where
T: Debug,impl Debug for isize
impl Debug for str
impl<'a, T, P> Debug for SplitNMut<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<T> Debug for [T; 7] where
T: Debug,impl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret
impl Debug for u128
impl<Ret, A> Debug for unsafe extern "C" fn(A, ...) -> Ret
impl<T> Debug for [T; 4] where
T: Debug,impl<T> Debug for [T; 21] where
T: Debug,impl<T> Debug for [T; 9] where
T: Debug,impl<Ret, A, B> Debug for extern "C" fn(A, B, ...) -> Ret
impl Debug for char
impl Debug for u16
impl<Ret, A, B, C, D, E, F, G, H> Debug for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
impl<T> Debug for [T; 10] where
T: Debug,impl<Ret, A, B, C> Debug for unsafe extern "C" fn(A, B, C) -> Ret
impl<Ret, A> Debug for unsafe fn(A) -> Ret
impl<T> Debug for [T; 8] where
T: Debug,impl<T> Debug for [T; 19] where
T: Debug,impl Debug for Utf8Error
impl<Ret> Debug for fn() -> Ret
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
impl Debug for i128
impl<Ret, A, B, C, D, E> Debug for extern "C" fn(A, B, C, D, E, ...) -> Ret
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,impl<T> Debug for [T] where
T: Debug,impl<'a> Debug for Lines<'a>
impl<Ret, A, B, C, D, E, F> Debug for fn(A, B, C, D, E, F) -> Ret
impl Debug for Error
impl<'a, T, P> Debug for SplitMut<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<'a, T, P> Debug for alloc::slice::RSplit<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl<T> Debug for [T; 30] where
T: Debug,impl<'a, 'b> Debug for StrSearcher<'a, 'b>
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<Ret, A, B, C, D, E, F, G, H> Debug for fn(A, B, C, D, E, F, G, H) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<T11> Debug for (T11,) where
T11: Debug + ?Sized,impl<T> Debug for [T; 12] where
T: Debug,impl<Ret, A, B> Debug for extern "C" fn(A, B) -> Ret
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
impl<'a, T> Debug for alloc::slice::IterMut<'a, T> where
T: 'a + Debug,impl<'a, T> Debug for ExactChunksMut<'a, T> where
T: 'a + Debug,impl<'a, P> Debug for alloc::str::RSplit<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<'a, T> Debug for Windows<'a, T> where
T: 'a + Debug,impl Debug for usize
impl<'a> Debug for LinesAny<'a>
impl<Ret> Debug for unsafe fn() -> Ret
impl<T> Debug for [T; 11] where
T: Debug,impl<Ret, A, B> Debug for fn(A, B) -> Ret
impl<'a, P> Debug for MatchIndices<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<Ret, A> Debug for unsafe extern "C" fn(A) -> Ret
impl<'a, T> Debug for alloc::slice::Iter<'a, T> where
T: 'a + Debug,impl<T> Debug for [T; 15] where
T: Debug,impl<Ret, A, B> Debug for unsafe fn(A, B) -> Ret
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,impl Debug for u32
impl<Ret, A> Debug for extern "C" fn(A) -> Ret
impl Debug for i16
impl<T> Debug for [T; 22] where
T: Debug,impl<Ret, A, B, C, D> Debug for fn(A, B, C, D) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<'a, P> Debug for alloc::str::SplitN<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<Ret, A, B, C> Debug for fn(A, B, C) -> Ret
impl<T10, T11> Debug for (T10, T11) where
T10: Debug,
T11: Debug + ?Sized,impl<Ret, A, B, C> Debug for unsafe extern "C" fn(A, B, C, ...) -> Ret
impl<T> Debug for [T; 13] where
T: Debug,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
impl<Ret, A, B, C, D, E, F, G, H> Debug for unsafe fn(A, B, C, D, E, F, G, H) -> Ret
impl<T> Debug for [T; 2] where
T: Debug,impl<Ret, A, B, C, D> Debug for unsafe extern "C" fn(A, B, C, D, ...) -> Ret
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
impl<T> Debug for [T; 17] where
T: Debug,impl<'a, P> Debug for RMatches<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<Ret, A, B, C, D> Debug for extern "C" fn(A, B, C, D, ...) -> Ret
impl<'a, P> Debug for SplitTerminator<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>
impl<T> Debug for [T; 25] where
T: Debug,impl<'a, T> Debug for Chunks<'a, T> where
T: 'a + Debug,impl<T> Debug for [T; 26] where
T: Debug,impl<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,impl<T8, T9, T10, T11> Debug for (T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T8: Debug,
T9: Debug,impl<Ret, A, B, C, D> Debug for unsafe extern "C" fn(A, B, C, D) -> Ret
impl<Ret, A, B, C, D, E, F, G> Debug for unsafe fn(A, B, C, D, E, F, G) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<Ret, A, B, C, D, E, F, G> Debug for extern "C" fn(A, B, C, D, E, F, G) -> Ret
impl<Ret, A, B, C, D, E, F> Debug for unsafe fn(A, B, C, D, E, F) -> Ret
impl<Ret, A, B, C, D, E, F, G> Debug for extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
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,impl<'a, P> Debug for RMatchIndices<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl Debug for SearchStep
impl<Ret, A, B, C, D, E, F> Debug for extern "C" fn(A, B, C, D, E, F, ...) -> Ret
impl<'a, T> Debug for ExactChunks<'a, T> where
T: 'a + Debug,impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<T> Debug for [T; 29] where
T: Debug,impl<T> Debug for [T; 0] where
T: Debug,impl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret
impl<'a, T, P> Debug for RSplitMut<'a, T, P> where
P: FnMut(&T) -> bool,
T: 'a + Debug,impl Debug for u64
impl<Ret> Debug for extern "C" fn() -> Ret
impl<'a, P> Debug for alloc::str::RSplitN<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,impl Debug for !
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
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<'a, T> Debug for &'a T where
T: Debug + ?Sized,impl Debug for f32
impl<'a, P> Debug for alloc::str::Split<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,impl<Ret, A> Debug for fn(A) -> Ret
impl<T> Debug for *const T where
T: ?Sized,impl<Ret, A, B, C, D, E, F, G> Debug for fn(A, B, C, D, E, F, G) -> Ret
impl<'a> Debug for CharSearcher<'a>
impl<T> Debug for [T; 28] where
T: Debug,impl Debug for f64
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<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,impl<T> Debug for *mut T where
T: ?Sized,impl<T9, T10, T11> Debug for (T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T9: Debug,impl<T> Debug for [T; 18] where
T: Debug,impl<Ret, A, B, C, D, E> Debug for extern "C" fn(A, B, C, D, E) -> Ret
impl<'a> Debug for SplitWhitespace<'a>
impl<'a, B: ?Sized> Debug for Cow<'a, B> where
B: Debug + ToOwned,
<B as ToOwned>::Owned: Debug,impl<'a, T: 'a + Debug> Debug for alloc::linked_list::Iter<'a, T>
impl<'a, T: 'a + Debug> Debug for alloc::linked_list::IterMut<'a, T>
impl<T: Debug> Debug for alloc::linked_list::IntoIter<T>
impl<'a, T: 'a + Debug, F> Debug for alloc::linked_list::DrainFilter<'a, T, F> where
F: FnMut(&mut T) -> bool,impl<T: Debug> Debug for LinkedList<T>
impl<'a, T: 'a + Debug> Debug for FrontPlace<'a, T>
impl<'a, T: 'a + Debug> Debug for BackPlace<'a, T>
impl<'a> Debug for EncodeUtf16<'a>
impl Debug for FromUtf8Error
impl Debug for FromUtf16Error
impl Debug for String
impl Debug for ParseError
impl<'a> Debug for alloc::string::Drain<'a>
impl<T: Debug> Debug for Vec<T>
impl<T: Debug> Debug for alloc::vec::IntoIter<T>
impl<'a, T: 'a + Debug> Debug for alloc::vec::Drain<'a, T>
impl<'a, T: Debug + 'a> Debug for alloc::vec::PlaceBack<'a, T>
impl<'a, I: Debug + Iterator + 'a> Debug for Splice<'a, I> where
I::Item: Debug,impl<'a, T: Debug + 'a, F: Debug> Debug for alloc::vec::DrainFilter<'a, T, F> where
F: FnMut(&mut T) -> bool,impl<'a, T: 'a + Debug> Debug for alloc::vec_deque::Iter<'a, T>
impl<'a, T: 'a + Debug> Debug for alloc::vec_deque::IterMut<'a, T>
impl<T: Debug> Debug for alloc::vec_deque::IntoIter<T>
impl<'a, T: 'a + Debug> Debug for alloc::vec_deque::Drain<'a, T>
impl<T: Debug> Debug for VecDeque<T>
impl<'a, T: Debug + 'a> Debug for alloc::vec_deque::PlaceBack<'a, T>
impl<'a, T: Debug + 'a> Debug for PlaceFront<'a, T>
impl<T: Debug> Debug for Bound<T>
impl Debug for Level
impl Debug for Diagnostic
impl Debug for TokenStream
impl Debug for LexError
impl Debug for Span
impl Debug for LineColumn
impl Debug for SourceFile
impl Debug for TokenTree
impl Debug for TokenNode
impl Debug for Delimiter
impl Debug for Term
impl Debug for Spacing
impl Debug for Literal
impl<'a> Debug for SplitWhitespace<'a>
impl Debug for UnicodeVersion
impl Debug for ToLowercase
impl Debug for ToUppercase
impl<I: Debug> Debug for DecodeUtf16<I> where
I: Iterator<Item = u16>,impl Debug for DecodeUtf16Error
impl<'a> Debug for Utf8LossyChunk<'a>
impl Debug for Utf8Lossy