Trait otter_api_tests::shapelib::Debug 1.0.0[−][src]
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
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 )
.
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 }");
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 }");
There are a number of helper methods on the Formatter
struct 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 }; assert_eq!(format!("The origin is: {:#?}", origin), "The origin is: Point { x: 0, y: 0, }");
Required methods
Formats the value using the given formatter.
Examples
use std::fmt; struct Position { longitude: f32, latitude: f32, } impl fmt::Debug for Position { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { 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, )");
Implementations on Foreign Types
impl<'_, T, S> Debug for SymmetricDifference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
[src]
impl<'_, T, S> Debug for SymmetricDifference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
[src]impl<FORMAT, STRICTNESS> Debug for DurationSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for DurationSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for TimestampNanoSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for TimestampNanoSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for TimestampSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for TimestampSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for DurationMilliSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for DurationMilliSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for DurationMicroSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for DurationMicroSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for DurationSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for DurationSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for DurationMicroSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for DurationMicroSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for TimestampNanoSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for TimestampNanoSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for TimestampMilliSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for TimestampMilliSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for DurationNanoSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for DurationNanoSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for TimestampMicroSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for TimestampMicroSecondsWithFrac<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for DurationMilliSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for DurationMilliSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for TimestampMilliSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for TimestampMilliSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for TimestampMicroSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for TimestampMicroSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for DurationNanoSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for DurationNanoSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<FORMAT, STRICTNESS> Debug for TimestampSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]
impl<FORMAT, STRICTNESS> Debug for TimestampSeconds<FORMAT, STRICTNESS> where
FORMAT: Debug + Format,
STRICTNESS: Debug + Strictness,
[src]impl<'a> Debug for ClassUnicodeIter<'a>
impl<'a> Debug for ClassUnicodeIter<'a>
impl<'s, 'h> Debug for FindIter<'s, 'h>
impl<'s, 'h> Debug for FindIter<'s, 'h>
impl<'h, 'n> Debug for FindIter<'h, 'n>
impl<'h, 'n> Debug for FindIter<'h, 'n>
impl<'h, 'n> Debug for FindRevIter<'h, 'n>
impl<'h, 'n> Debug for FindRevIter<'h, 'n>
impl Debug for ImageRuntimeFunctionEntry
impl Debug for ImageRuntimeFunctionEntry
impl Debug for ImageAlpha64RuntimeFunctionEntry
impl Debug for ImageAlpha64RuntimeFunctionEntry
impl<E> Debug for U64Bytes<E> where
E: Endian,
impl<E> Debug for U64Bytes<E> where
E: Endian,
impl<E> Debug for I16Bytes<E> where
E: Endian,
impl<E> Debug for I16Bytes<E> where
E: Endian,
impl<E> Debug for U32Bytes<E> where
E: Endian,
impl<E> Debug for U32Bytes<E> where
E: Endian,
impl<'data, 'file, Mach, R> Debug for MachOSymbolIterator<'data, 'file, Mach, R> where
R: ReadRef<'data>,
Mach: MachHeader,
impl<'data, 'file, Mach, R> Debug for MachOSymbolIterator<'data, 'file, Mach, R> where
R: ReadRef<'data>,
Mach: MachHeader,
impl Debug for ImageLoadConfigCodeIntegrity
impl Debug for ImageLoadConfigCodeIntegrity
impl Debug for ImageLoadConfigDirectory64
impl Debug for ImageLoadConfigDirectory64
impl<E> Debug for I32Bytes<E> where
E: Endian,
impl<E> Debug for I32Bytes<E> where
E: Endian,
impl Debug for ImagePrologueDynamicRelocationHeader
impl Debug for ImagePrologueDynamicRelocationHeader
impl Debug for ImageEpilogueDynamicRelocationHeader
impl Debug for ImageEpilogueDynamicRelocationHeader
impl Debug for ImageSeparateDebugHeader
impl Debug for ImageSeparateDebugHeader
impl<'data> Debug for SymbolTable<'data>
impl<'data> Debug for SymbolTable<'data>
impl<'data> Debug for ObjectMapEntry<'data>
impl<'data> Debug for ObjectMapEntry<'data>
impl Debug for NoDynamicRelocationIterator
impl Debug for NoDynamicRelocationIterator
impl Debug for ImageDynamicRelocationTable
impl Debug for ImageDynamicRelocationTable
impl Debug for ImageDynamicRelocation64
impl Debug for ImageDynamicRelocation64
impl Debug for ImageLoadConfigDirectory32
impl Debug for ImageLoadConfigDirectory32
impl Debug for ImageArchiveMemberHeader
impl Debug for ImageArchiveMemberHeader
impl Debug for ImageAlphaRuntimeFunctionEntry
impl Debug for ImageAlphaRuntimeFunctionEntry
impl<'data, 'file, Elf, R> Debug for ElfDynamicRelocationIterator<'data, 'file, Elf, R> where
R: ReadRef<'data>,
Elf: FileHeader,
impl<'data, 'file, Elf, R> Debug for ElfDynamicRelocationIterator<'data, 'file, Elf, R> where
R: ReadRef<'data>,
Elf: FileHeader,
impl<E> Debug for U16Bytes<E> where
E: Endian,
impl<E> Debug for U16Bytes<E> where
E: Endian,
impl<'data> Debug for ArchiveMember<'data>
impl<'data> Debug for ArchiveMember<'data>
impl<'data, 'file, R> Debug for Segment<'data, 'file, R> where
R: ReadRef<'data>,
impl<'data, 'file, R> Debug for Segment<'data, 'file, R> where
R: ReadRef<'data>,
impl<'data> Debug for StringTable<'data>
impl<'data> Debug for StringTable<'data>
impl<'data, 'file, R> Debug for Symbol<'data, 'file, R> where
R: ReadRef<'data>,
impl<'data, 'file, R> Debug for Symbol<'data, 'file, R> where
R: ReadRef<'data>,
impl<'data, 'table> Debug for SymbolIterator<'data, 'table>
impl<'data, 'table> Debug for SymbolIterator<'data, 'table>
impl Debug for ImageDelayloadDescriptor
impl Debug for ImageDelayloadDescriptor
impl<'data, 'file, Elf> Debug for ElfSymbolIterator<'data, 'file, Elf> where
Elf: FileHeader,
impl<'data, 'file, Elf> Debug for ElfSymbolIterator<'data, 'file, Elf> where
Elf: FileHeader,
impl<'data, 'file> Debug for CoffSymbolIterator<'data, 'file>
impl<'data, 'file> Debug for CoffSymbolIterator<'data, 'file>
impl<'data, 'file, R> Debug for Comdat<'data, 'file, R> where
R: ReadRef<'data>,
impl<'data, 'file, R> Debug for Comdat<'data, 'file, R> where
R: ReadRef<'data>,
impl<E> Debug for I64Bytes<E> where
E: Endian,
impl<E> Debug for I64Bytes<E> where
E: Endian,
impl<'data, 'file, R> Debug for Section<'data, 'file, R> where
R: ReadRef<'data>,
impl<'data, 'file, R> Debug for Section<'data, 'file, R> where
R: ReadRef<'data>,
impl<'data, 'file, Mach, R> Debug for MachOSectionIterator<'data, 'file, Mach, R> where
R: ReadRef<'data>,
Mach: MachHeader,
impl<'data, 'file, Mach, R> Debug for MachOSectionIterator<'data, 'file, Mach, R> where
R: ReadRef<'data>,
Mach: MachHeader,
impl<'data, 'file> Debug for CoffSymbolTable<'data, 'file>
impl<'data, 'file> Debug for CoffSymbolTable<'data, 'file>
impl Debug for ImageBoundImportDescriptor
impl Debug for ImageBoundImportDescriptor
impl<'data> Debug for CompressedData<'data>
impl<'data> Debug for CompressedData<'data>
impl<'data, 'file, Elf, R> Debug for ElfSectionRelocationIterator<'data, 'file, Elf, R> where
R: ReadRef<'data>,
Elf: FileHeader,
impl<'data, 'file, Elf, R> Debug for ElfSectionRelocationIterator<'data, 'file, Elf, R> where
R: ReadRef<'data>,
Elf: FileHeader,
impl<'data, 'file> Debug for CoffSymbol<'data, 'file>
impl<'data, 'file> Debug for CoffSymbol<'data, 'file>
impl Debug for ImageAuxSymbolFunctionBeginEnd
impl Debug for ImageAuxSymbolFunctionBeginEnd
impl Debug for ImageArm64RuntimeFunctionEntry
impl Debug for ImageArm64RuntimeFunctionEntry
impl<'data> Debug for SymbolMapName<'data>
impl<'data> Debug for SymbolMapName<'data>
impl Debug for ImageDynamicRelocation64V2
impl Debug for ImageDynamicRelocation64V2
impl<'data, 'file, R> Debug for CoffRelocationIterator<'data, 'file, R> where
R: ReadRef<'data>,
impl<'data, 'file, R> Debug for CoffRelocationIterator<'data, 'file, R> where
R: ReadRef<'data>,
impl<'data, 'file, Mach, R> Debug for MachORelocationIterator<'data, 'file, Mach, R> where
R: ReadRef<'data>,
Mach: MachHeader,
impl<'data, 'file, Mach, R> Debug for MachORelocationIterator<'data, 'file, Mach, R> where
R: ReadRef<'data>,
Mach: MachHeader,
impl<'data> Debug for SectionTable<'data>
impl<'data> Debug for SectionTable<'data>
impl Debug for ImageDynamicRelocation32V2
impl Debug for ImageDynamicRelocation32V2
impl Debug for ImageDynamicRelocation32
impl Debug for ImageDynamicRelocation32
impl Debug for ImageArmRuntimeFunctionEntry
impl Debug for ImageArmRuntimeFunctionEntry
impl Debug for ImageResourceDirectoryString
impl Debug for ImageResourceDirectoryString
impl Debug for ImageResourceDirectoryEntry
impl Debug for ImageResourceDirectoryEntry
impl<'a, T> Debug for Drain<'a, T> where
T: 'a,
impl<'a, T> Debug for Drain<'a, T> where
T: 'a,
impl<'a> Debug for DecodeStringError<'a>
impl<'a> Debug for DecodeStringError<'a>
impl<X> Debug for WeightedIndex<X> where
X: Debug + SampleUniform + PartialOrd<X>,
<X as SampleUniform>::Sampler: Debug,
[src]
impl<X> Debug for WeightedIndex<X> where
X: Debug + SampleUniform + PartialOrd<X>,
<X as SampleUniform>::Sampler: Debug,
[src]impl<X> Debug for Uniform<X> where
X: Debug + SampleUniform,
<X as SampleUniform>::Sampler: Debug,
[src]
impl<X> Debug for Uniform<X> where
X: Debug + SampleUniform,
<X as SampleUniform>::Sampler: Debug,
[src]impl<R, Rsdr> Debug for ReseedingRng<R, Rsdr> where
R: Debug + BlockRngCore + SeedableRng,
Rsdr: Debug + RngCore,
[src]
impl<R, Rsdr> Debug for ReseedingRng<R, Rsdr> where
R: Debug + BlockRngCore + SeedableRng,
Rsdr: Debug + RngCore,
[src]impl<'text> Debug for InitialInfo<'text>
impl<'text> Debug for InitialInfo<'text>
When the alternate flag is enabled this will print platform specific
details, for example the fields of the kevent
structure on platforms that
use kqueue(2)
. Note however that the output of this implementation is
not consider a part of the stable API.
impl<'a> Debug for WordBoundIndices<'a>
impl<'a> Debug for WordBoundIndices<'a>
impl<'_, T> Debug for ScopedJoinHandle<'_, T>
impl<'_, T> Debug for ScopedJoinHandle<'_, T>
impl<'scope, 'env> Debug for ScopedThreadBuilder<'scope, 'env>
impl<'scope, 'env> Debug for ScopedThreadBuilder<'scope, 'env>
Debug the serialization of this URL.
impl Debug for Style
impl Debug for Style
Styles have a special Debug
implementation that only shows the fields that
are set. Fields that haven’t been touched aren’t included in the output.
This behaviour gets bypassed when using the alternate formatting mode
format!("{:#?}")
.
use ansi_term::Colour::{Red, Blue}; assert_eq!("Style { fg(Red), on(Blue), bold, italic }", format!("{:?}", Red.on(Blue).bold().italic()));
impl<Fut1, Fut2, Fut3, Fut4> Debug for TryJoin4<Fut1, Fut2, Fut3, Fut4> where
Fut1: TryFuture + Debug,
Fut2: TryFuture + Debug,
Fut3: TryFuture + Debug,
Fut4: TryFuture + Debug,
<Fut1 as TryFuture>::Ok: Debug,
<Fut1 as TryFuture>::Error: Debug,
<Fut2 as TryFuture>::Ok: Debug,
<Fut2 as TryFuture>::Error: Debug,
<Fut3 as TryFuture>::Ok: Debug,
<Fut3 as TryFuture>::Error: Debug,
<Fut4 as TryFuture>::Ok: Debug,
<Fut4 as TryFuture>::Error: Debug,
impl<Fut1, Fut2, Fut3, Fut4> Debug for TryJoin4<Fut1, Fut2, Fut3, Fut4> where
Fut1: TryFuture + Debug,
Fut2: TryFuture + Debug,
Fut3: TryFuture + Debug,
Fut4: TryFuture + Debug,
<Fut1 as TryFuture>::Ok: Debug,
<Fut1 as TryFuture>::Error: Debug,
<Fut2 as TryFuture>::Ok: Debug,
<Fut2 as TryFuture>::Error: Debug,
<Fut3 as TryFuture>::Ok: Debug,
<Fut3 as TryFuture>::Error: Debug,
<Fut4 as TryFuture>::Ok: Debug,
<Fut4 as TryFuture>::Error: Debug,
impl<Fut> Debug for NeverError<Fut> where
Map<Fut, OkFn<Infallible>>: Debug,
impl<Fut> Debug for NeverError<Fut> where
Map<Fut, OkFn<Infallible>>: Debug,
impl<Fut1, Fut2, Fut3, Fut4, Fut5> Debug for Join5<Fut1, Fut2, Fut3, Fut4, Fut5> where
Fut1: Future + Debug,
Fut2: Future + Debug,
Fut3: Future + Debug,
Fut4: Future + Debug,
Fut5: Future + Debug,
<Fut1 as Future>::Output: Debug,
<Fut2 as Future>::Output: Debug,
<Fut3 as Future>::Output: Debug,
<Fut4 as Future>::Output: Debug,
<Fut5 as Future>::Output: Debug,
impl<Fut1, Fut2, Fut3, Fut4, Fut5> Debug for Join5<Fut1, Fut2, Fut3, Fut4, Fut5> where
Fut1: Future + Debug,
Fut2: Future + Debug,
Fut3: Future + Debug,
Fut4: Future + Debug,
Fut5: Future + Debug,
<Fut1 as Future>::Output: Debug,
<Fut2 as Future>::Output: Debug,
<Fut3 as Future>::Output: Debug,
<Fut4 as Future>::Output: Debug,
<Fut5 as Future>::Output: Debug,
impl<Fut> Debug for FuturesUnordered<Fut>
impl<Fut> Debug for FuturesUnordered<Fut>
impl<Fut1, Fut2, Fut3> Debug for TryJoin3<Fut1, Fut2, Fut3> where
Fut1: TryFuture + Debug,
Fut2: TryFuture + Debug,
Fut3: TryFuture + Debug,
<Fut1 as TryFuture>::Ok: Debug,
<Fut1 as TryFuture>::Error: Debug,
<Fut2 as TryFuture>::Ok: Debug,
<Fut2 as TryFuture>::Error: Debug,
<Fut3 as TryFuture>::Ok: Debug,
<Fut3 as TryFuture>::Error: Debug,
impl<Fut1, Fut2, Fut3> Debug for TryJoin3<Fut1, Fut2, Fut3> where
Fut1: TryFuture + Debug,
Fut2: TryFuture + Debug,
Fut3: TryFuture + Debug,
<Fut1 as TryFuture>::Ok: Debug,
<Fut1 as TryFuture>::Error: Debug,
<Fut2 as TryFuture>::Ok: Debug,
<Fut2 as TryFuture>::Error: Debug,
<Fut3 as TryFuture>::Ok: Debug,
<Fut3 as TryFuture>::Error: Debug,
impl<Fut1, Fut2, Fut3, Fut4, Fut5> Debug for TryJoin5<Fut1, Fut2, Fut3, Fut4, Fut5> where
Fut1: TryFuture + Debug,
Fut2: TryFuture + Debug,
Fut3: TryFuture + Debug,
Fut4: TryFuture + Debug,
Fut5: TryFuture + Debug,
<Fut1 as TryFuture>::Ok: Debug,
<Fut1 as TryFuture>::Error: Debug,
<Fut2 as TryFuture>::Ok: Debug,
<Fut2 as TryFuture>::Error: Debug,
<Fut3 as TryFuture>::Ok: Debug,
<Fut3 as TryFuture>::Error: Debug,
<Fut4 as TryFuture>::Ok: Debug,
<Fut4 as TryFuture>::Error: Debug,
<Fut5 as TryFuture>::Ok: Debug,
<Fut5 as TryFuture>::Error: Debug,
impl<Fut1, Fut2, Fut3, Fut4, Fut5> Debug for TryJoin5<Fut1, Fut2, Fut3, Fut4, Fut5> where
Fut1: TryFuture + Debug,
Fut2: TryFuture + Debug,
Fut3: TryFuture + Debug,
Fut4: TryFuture + Debug,
Fut5: TryFuture + Debug,
<Fut1 as TryFuture>::Ok: Debug,
<Fut1 as TryFuture>::Error: Debug,
<Fut2 as TryFuture>::Ok: Debug,
<Fut2 as TryFuture>::Error: Debug,
<Fut3 as TryFuture>::Ok: Debug,
<Fut3 as TryFuture>::Error: Debug,
<Fut4 as TryFuture>::Ok: Debug,
<Fut4 as TryFuture>::Error: Debug,
<Fut5 as TryFuture>::Ok: Debug,
<Fut5 as TryFuture>::Error: Debug,
impl<'_, T> Debug for LocalFutureObj<'_, T>
impl<'_, T> Debug for LocalFutureObj<'_, T>
impl<T> Debug for UnboundedReceiver<T>
impl<T> Debug for UnboundedReceiver<T>
impl<T> Debug for LocalKey<T> where
T: 'static,
impl<T> Debug for LocalKey<T> where
T: 'static,
impl<'headers, 'buf> Debug for Request<'headers, 'buf> where
'buf: 'headers,
impl<'headers, 'buf> Debug for Request<'headers, 'buf> where
'buf: 'headers,
impl<'headers, 'buf> Debug for Response<'headers, 'buf> where
'buf: 'headers,
impl<'headers, 'buf> Debug for Response<'headers, 'buf> where
'buf: 'headers,
impl<'a> Debug for WaitForCancellationFuture<'a>
impl<'a> Debug for WaitForCancellationFuture<'a>
impl Debug for LengthDelimitedCodecError
impl Debug for LengthDelimitedCodecError
impl<'_, T, S1, S2> Debug for SymmetricDifference<'_, T, S1, S2> where
T: Debug + Eq + Hash,
S1: BuildHasher,
S2: BuildHasher,
[src]
impl<'_, T, S1, S2> Debug for SymmetricDifference<'_, T, S1, S2> where
T: Debug + Eq + Hash,
S1: BuildHasher,
S2: BuildHasher,
[src]impl<'_, T, S> Debug for Difference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
impl<'_, T, S> Debug for Difference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
impl<'_, K, V, S> Debug for RawEntryBuilder<'_, K, V, S>
impl<'_, K, V, S> Debug for RawEntryBuilder<'_, K, V, S>
impl<T, S> Debug for HashSet<T, S> where
T: Eq + Hash + Debug,
S: BuildHasher,
impl<T, S> Debug for HashSet<T, S> where
T: Eq + Hash + Debug,
S: BuildHasher,
impl<'_, T, S> Debug for Union<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
impl<'_, T, S> Debug for Union<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
impl<'_, K, V, S> Debug for RawEntryBuilderMut<'_, K, V, S>
impl<'_, K, V, S> Debug for RawEntryBuilderMut<'_, K, V, S>
impl<'_, K, V, S> Debug for RawVacantEntryMut<'_, K, V, S>
impl<'_, K, V, S> Debug for RawVacantEntryMut<'_, K, V, S>
impl<'_, T, S> Debug for SymmetricDifference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
impl<'_, T, S> Debug for SymmetricDifference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
impl<'_, T, S> Debug for Intersection<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
impl<'_, T, S> Debug for Intersection<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
Implementors
impl Debug for otter_api_tests::shapelib::LittleEndian
impl Debug for otter_api_tests::shapelib::LittleEndian
The Debug
output of the ISO week w
is the same as
d.format("%G-W%V")
where d
is any NaiveDate
value in that week.
Example
use chrono::{NaiveDate, Datelike}; assert_eq!(format!("{:?}", NaiveDate::from_ymd(2015, 9, 5).iso_week()), "2015-W36"); assert_eq!(format!("{:?}", NaiveDate::from_ymd( 0, 1, 3).iso_week()), "0000-W01"); assert_eq!(format!("{:?}", NaiveDate::from_ymd(9999, 12, 31).iso_week()), "9999-W52");
ISO 8601 requires an explicit sign for years before 1 BCE or after 9999 CE.
assert_eq!(format!("{:?}", NaiveDate::from_ymd( 0, 1, 2).iso_week()), "-0001-W52"); assert_eq!(format!("{:?}", NaiveDate::from_ymd(10000, 12, 31).iso_week()), "+10000-W52");
The Debug
output of the naive date d
is the same as
d.format("%Y-%m-%d")
.
The string printed can be readily parsed via the parse
method on str
.
Example
use chrono::NaiveDate; assert_eq!(format!("{:?}", NaiveDate::from_ymd(2015, 9, 5)), "2015-09-05"); assert_eq!(format!("{:?}", NaiveDate::from_ymd( 0, 1, 1)), "0000-01-01"); assert_eq!(format!("{:?}", NaiveDate::from_ymd(9999, 12, 31)), "9999-12-31");
ISO 8601 requires an explicit sign for years before 1 BCE or after 9999 CE.
assert_eq!(format!("{:?}", NaiveDate::from_ymd( -1, 1, 1)), "-0001-01-01"); assert_eq!(format!("{:?}", NaiveDate::from_ymd(10000, 12, 31)), "+10000-12-31");
The Debug
output of the naive date and time dt
is the same as
dt.format("%Y-%m-%dT%H:%M:%S%.f")
.
The string printed can be readily parsed via the parse
method on str
.
It should be noted that, for leap seconds not on the minute boundary, it may print a representation not distinguishable from non-leap seconds. This doesn’t matter in practice, since such leap seconds never happened. (By the time of the first leap second on 1972-06-30, every time zone offset around the world has standardized to the 5-minute alignment.)
Example
use chrono::NaiveDate; let dt = NaiveDate::from_ymd(2016, 11, 15).and_hms(7, 39, 24); assert_eq!(format!("{:?}", dt), "2016-11-15T07:39:24");
Leap seconds may also be used.
let dt = NaiveDate::from_ymd(2015, 6, 30).and_hms_milli(23, 59, 59, 1_500); assert_eq!(format!("{:?}", dt), "2015-06-30T23:59:60.500");
The Debug
output of the naive time t
is the same as
t.format("%H:%M:%S%.f")
.
The string printed can be readily parsed via the parse
method on str
.
It should be noted that, for leap seconds not on the minute boundary, it may print a representation not distinguishable from non-leap seconds. This doesn’t matter in practice, since such leap seconds never happened. (By the time of the first leap second on 1972-06-30, every time zone offset around the world has standardized to the 5-minute alignment.)
Example
use chrono::NaiveTime; assert_eq!(format!("{:?}", NaiveTime::from_hms(23, 56, 4)), "23:56:04"); assert_eq!(format!("{:?}", NaiveTime::from_hms_milli(23, 56, 4, 12)), "23:56:04.012"); assert_eq!(format!("{:?}", NaiveTime::from_hms_micro(23, 56, 4, 1234)), "23:56:04.001234"); assert_eq!(format!("{:?}", NaiveTime::from_hms_nano(23, 56, 4, 123456)), "23:56:04.000123456");
Leap seconds may also be used.
assert_eq!(format!("{:?}", NaiveTime::from_hms_milli(6, 59, 59, 1_500)), "06:59:60.500");
impl Debug for __c_anonymous_sockaddr_can_j1939
impl Debug for __c_anonymous_sockaddr_can_j1939
impl Debug for __c_anonymous_sockaddr_can_tp
impl Debug for __c_anonymous_sockaddr_can_tp
impl Debug for otter_api_tests::imports::libc::inotify_event
impl Debug for otter_api_tests::imports::libc::inotify_event
impl Debug for posix_spawn_file_actions_t
impl Debug for posix_spawn_file_actions_t
impl Debug for InterfaceAddressIterator
impl Debug for InterfaceAddressIterator
impl Debug for otter_api_tests::imports::nix::sys::inotify::WatchDescriptor
impl Debug for otter_api_tests::imports::nix::sys::inotify::WatchDescriptor
impl Debug for otter_api_tests::imports::parking_lot::WaitTimeoutResult
impl Debug for otter_api_tests::imports::parking_lot::WaitTimeoutResult
impl Debug for otter_api_tests::imports::regex::bytes::CaptureLocations
impl Debug for otter_api_tests::imports::regex::bytes::CaptureLocations
impl Debug for otter_api_tests::imports::regex::bytes::RegexBuilder
impl Debug for otter_api_tests::imports::regex::bytes::RegexBuilder
impl Debug for otter_api_tests::imports::regex::bytes::RegexSetBuilder
impl Debug for otter_api_tests::imports::regex::bytes::RegexSetBuilder
impl Debug for otter_api_tests::imports::regex::bytes::SetMatches
impl Debug for otter_api_tests::imports::regex::bytes::SetMatches
impl Debug for otter_api_tests::imports::regex::bytes::SetMatchesIntoIter
impl Debug for otter_api_tests::imports::regex::bytes::SetMatchesIntoIter
impl Debug for otter_api_tests::imports::regex::CaptureLocations
impl Debug for otter_api_tests::imports::regex::CaptureLocations
impl Debug for otter_api_tests::imports::regex::RegexBuilder
impl Debug for otter_api_tests::imports::regex::RegexBuilder
impl Debug for otter_api_tests::imports::regex::RegexSetBuilder
impl Debug for otter_api_tests::imports::regex::RegexSetBuilder
impl Debug for otter_api_tests::imports::regex::SetMatches
impl Debug for otter_api_tests::imports::regex::SetMatches
impl Debug for otter_api_tests::imports::regex::SetMatchesIntoIter
impl Debug for otter_api_tests::imports::regex::SetMatchesIntoIter
impl Debug for NonblockingUnixSeqpacketConn
impl Debug for NonblockingUnixSeqpacketConn
impl Debug for NonblockingUnixSeqpacketListener
impl Debug for NonblockingUnixSeqpacketListener
impl Debug for otter_api_tests::zcoord::ParseError
impl Debug for otter_api_tests::zcoord::ParseError
Debug the serialization of this URL.
impl<'_, K, V> Debug for otter_api_tests::btree_map::VacantEntry<'_, K, V> where
K: Debug + Ord,
1.12.0[src]
impl<'_, K, V> Debug for otter_api_tests::btree_map::VacantEntry<'_, K, V> where
K: Debug + Ord,
1.12.0[src]impl<'_, K, V> Debug for otter_api_tests::hash_map::OccupiedEntry<'_, K, V> where
K: Debug,
V: Debug,
1.12.0[src]
impl<'_, K, V> Debug for otter_api_tests::hash_map::OccupiedEntry<'_, K, V> where
K: Debug,
V: Debug,
1.12.0[src]impl<'_, K, V> Debug for otter_api_tests::hash_map::OccupiedError<'_, K, V> where
K: Debug,
V: Debug,
[src]
impl<'_, K, V> Debug for otter_api_tests::hash_map::OccupiedError<'_, K, V> where
K: Debug,
V: Debug,
[src]impl<'_, K, V> Debug for otter_api_tests::hash_map::VacantEntry<'_, K, V> where
K: Debug,
1.12.0[src]
impl<'_, K, V> Debug for otter_api_tests::hash_map::VacantEntry<'_, K, V> where
K: Debug,
1.12.0[src]impl<'_, K, V, S> Debug for otter_api_tests::hash_map::RawEntryMut<'_, K, V, S> where
K: Debug,
V: Debug,
[src]
impl<'_, K, V, S> Debug for otter_api_tests::hash_map::RawEntryMut<'_, K, V, S> where
K: Debug,
V: Debug,
[src]impl<'_, K, V, S> Debug for otter_api_tests::hash_map::RawOccupiedEntryMut<'_, K, V, S> where
K: Debug,
V: Debug,
[src]
impl<'_, K, V, S> Debug for otter_api_tests::hash_map::RawOccupiedEntryMut<'_, K, V, S> where
K: Debug,
V: Debug,
[src]impl<'_, T> Debug for otter_api_tests::btree_set::SymmetricDifference<'_, T> where
T: Debug,
1.17.0[src]
impl<'_, T> Debug for otter_api_tests::btree_set::SymmetricDifference<'_, T> where
T: Debug,
1.17.0[src]impl<'a> Debug for otter_api_tests::imports::regex::bytes::SetMatchesIter<'a>
impl<'a> Debug for otter_api_tests::imports::regex::bytes::SetMatchesIter<'a>
impl<'a> Debug for otter_api_tests::imports::regex::SetMatchesIter<'a>
impl<'a> Debug for otter_api_tests::imports::regex::SetMatchesIter<'a>
impl<'a, R> Debug for DecoderReader<'a, R> where
R: Read,
impl<'a, R> Debug for DecoderReader<'a, R> where
R: Read,
impl<'a, R> Debug for otter_api_tests::imports::regex::bytes::ReplacerRef<'a, R> where
R: Debug + ?Sized,
impl<'a, R> Debug for otter_api_tests::imports::regex::bytes::ReplacerRef<'a, R> where
R: Debug + ?Sized,
impl<'a, R> Debug for otter_api_tests::imports::regex::ReplacerRef<'a, R> where
R: Debug + ?Sized,
impl<'a, R> Debug for otter_api_tests::imports::regex::ReplacerRef<'a, R> where
R: Debug + ?Sized,
impl<'a, R> Debug for ReadRefReader<'a, R> where
R: Debug + ?Sized,
impl<'a, R> Debug for ReadRefReader<'a, R> where
R: Debug + ?Sized,
impl<'a, R, G, T> Debug for MappedReentrantMutexGuard<'a, R, G, T> where
T: 'a + Debug + ?Sized,
G: 'a + GetThreadId,
R: 'a + RawMutex,
impl<'a, R, G, T> Debug for MappedReentrantMutexGuard<'a, R, G, T> where
T: 'a + Debug + ?Sized,
G: 'a + GetThreadId,
R: 'a + RawMutex,
impl<'a, R, G, T> Debug for ReentrantMutexGuard<'a, R, G, T> where
T: 'a + Debug + ?Sized,
G: 'a + GetThreadId,
R: 'a + RawMutex,
impl<'a, R, G, T> Debug for ReentrantMutexGuard<'a, R, G, T> where
T: 'a + Debug + ?Sized,
G: 'a + GetThreadId,
R: 'a + RawMutex,
impl<'a, R, T> Debug for otter_api_tests::imports::parking_lot::lock_api::MappedMutexGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawMutex,
impl<'a, R, T> Debug for otter_api_tests::imports::parking_lot::lock_api::MappedMutexGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawMutex,
impl<'a, R, T> Debug for MappedRwLockReadGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawRwLock,
impl<'a, R, T> Debug for MappedRwLockReadGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawRwLock,
impl<'a, R, T> Debug for MappedRwLockWriteGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawRwLock,
impl<'a, R, T> Debug for MappedRwLockWriteGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawRwLock,
impl<'a, R, T> Debug for otter_api_tests::imports::parking_lot::lock_api::MutexGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawMutex,
impl<'a, R, T> Debug for otter_api_tests::imports::parking_lot::lock_api::MutexGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawMutex,
impl<'a, R, T> Debug for otter_api_tests::imports::parking_lot::lock_api::RwLockReadGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawRwLock,
impl<'a, R, T> Debug for otter_api_tests::imports::parking_lot::lock_api::RwLockReadGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawRwLock,
impl<'a, R, T> Debug for RwLockUpgradableReadGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawRwLockUpgrade,
impl<'a, R, T> Debug for RwLockUpgradableReadGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawRwLockUpgrade,
impl<'a, R, T> Debug for otter_api_tests::imports::parking_lot::lock_api::RwLockWriteGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawRwLock,
impl<'a, R, T> Debug for otter_api_tests::imports::parking_lot::lock_api::RwLockWriteGuard<'a, R, T> where
T: 'a + Debug + ?Sized,
R: 'a + RawRwLock,
impl<'a, T> Debug for StyledValue<'a, T> where
T: Debug,
impl<'a, T> Debug for StyledValue<'a, T> where
T: Debug,
impl<'a, W> Debug for ExtFieldSerializer<'a, W> where
W: Debug,
impl<'a, W> Debug for ExtFieldSerializer<'a, W> where
W: Debug,
impl<'a, W> Debug for ExtSerializer<'a, W> where
W: Debug,
impl<'a, W> Debug for ExtSerializer<'a, W> where
W: Debug,
impl<'a, W, C> Debug for MaybeUnknownLengthCompound<'a, W, C> where
C: 'a + Debug,
W: 'a + Debug,
impl<'a, W, C> Debug for MaybeUnknownLengthCompound<'a, W, C> where
C: 'a + Debug,
W: 'a + Debug,
impl<'c, 't> Debug for otter_api_tests::imports::regex::bytes::SubCaptureMatches<'c, 't>
impl<'c, 't> Debug for otter_api_tests::imports::regex::bytes::SubCaptureMatches<'c, 't>
impl<'c, 't> Debug for otter_api_tests::imports::regex::SubCaptureMatches<'c, 't>
impl<'c, 't> Debug for otter_api_tests::imports::regex::SubCaptureMatches<'c, 't>
impl<'r> Debug for otter_api_tests::imports::regex::bytes::CaptureNames<'r>
impl<'r> Debug for otter_api_tests::imports::regex::bytes::CaptureNames<'r>
impl<'r> Debug for otter_api_tests::imports::regex::CaptureNames<'r>
impl<'r> Debug for otter_api_tests::imports::regex::CaptureNames<'r>
impl<'r, 't> Debug for otter_api_tests::imports::regex::bytes::CaptureMatches<'r, 't>
impl<'r, 't> Debug for otter_api_tests::imports::regex::bytes::CaptureMatches<'r, 't>
impl<'r, 't> Debug for otter_api_tests::imports::regex::CaptureMatches<'r, 't>
impl<'r, 't> Debug for otter_api_tests::imports::regex::CaptureMatches<'r, 't>
impl<ASO, MR> Debug for IteratorCore<ASO, MR> where
MR: Debug,
ASO: Debug,
impl<ASO, MR> Debug for IteratorCore<ASO, MR> where
MR: Debug,
ASO: Debug,
impl<C> Debug for BinaryConfig<C> where
C: Debug,
impl<C> Debug for BinaryConfig<C> where
C: Debug,
impl<C> Debug for HumanReadableConfig<C> where
C: Debug,
impl<C> Debug for HumanReadableConfig<C> where
C: Debug,
impl<C> Debug for StructMapConfig<C> where
C: Debug,
impl<C> Debug for StructMapConfig<C> where
C: Debug,
impl<C> Debug for StructTupleConfig<C> where
C: Debug,
impl<C> Debug for StructTupleConfig<C> where
C: Debug,
impl<C> Debug for VariantIntegerConfig<C> where
C: Debug,
impl<C> Debug for VariantIntegerConfig<C> where
C: Debug,
impl<C> Debug for VariantStringConfig<C> where
C: Debug,
impl<C> Debug for VariantStringConfig<C> where
C: Debug,
impl<E> Debug for ParseNotNanError<E> where
E: Debug,
impl<E> Debug for ParseNotNanError<E> where
E: Debug,
impl<I, T> Debug for TupleWindows<I, T> where
T: Debug + HomogeneousTuple,
I: Debug + Iterator<Item = <T as TupleCollect>::Item>,
[src]
impl<I, T> Debug for TupleWindows<I, T> where
T: Debug + HomogeneousTuple,
I: Debug + Iterator<Item = <T as TupleCollect>::Item>,
[src]impl<I, T> Debug for IndexSlice<I, T> where
T: Debug + ?Sized,
I: Idx,
impl<I, T> Debug for IndexSlice<I, T> where
T: Debug + ?Sized,
I: Idx,
impl<I, T, E> Debug for FlattenOk<I, T, E> where
T: IntoIterator,
I: Iterator<Item = Result<T, E>> + Debug,
<T as IntoIterator>::IntoIter: Debug,
[src]
impl<I, T, E> Debug for FlattenOk<I, T, E> where
T: IntoIterator,
I: Iterator<Item = Result<T, E>> + Debug,
<T as IntoIterator>::IntoIter: Debug,
[src]impl<I, U, F> Debug for otter_api_tests::iter::FlatMap<I, U, F> where
U: IntoIterator,
I: Debug,
<U as IntoIterator>::IntoIter: Debug,
1.9.0[src]
impl<I, U, F> Debug for otter_api_tests::iter::FlatMap<I, U, F> where
U: IntoIterator,
I: Debug,
<U as IntoIterator>::IntoIter: Debug,
1.9.0[src]impl<K, V, S> Debug for SparseSecondaryMap<K, V, S> where
S: Debug + BuildHasher,
K: Debug + Key,
V: Debug,
[src]
impl<K, V, S> Debug for SparseSecondaryMap<K, V, S> where
S: Debug + BuildHasher,
K: Debug + Key,
V: Debug,
[src]impl<R> Debug for ReadReader<R> where
R: Debug + Read,
impl<R> Debug for ReadReader<R> where
R: Debug + Read,
impl<R> Debug for ZipArchive<R> where
R: Debug,
impl<R> Debug for ZipArchive<R> where
R: Debug,
impl<R, C> Debug for Deserializer<R, C> where
C: Debug,
R: Debug,
impl<R, C> Debug for Deserializer<R, C> where
C: Debug,
R: Debug,
impl<R, G, T> Debug for ReentrantMutex<R, G, T> where
T: Debug + ?Sized,
G: GetThreadId,
R: RawMutex,
impl<R, G, T> Debug for ReentrantMutex<R, G, T> where
T: Debug + ?Sized,
G: GetThreadId,
R: RawMutex,
impl<T> Debug for SyncFailure<T> where
T: Debug,
impl<T> Debug for SyncFailure<T> where
T: Debug,
impl<T> Debug for TupleBuffer<T> where
T: Debug + HomogeneousTuple,
<T as TupleCollect>::Buffer: Debug,
[src]
impl<T> Debug for TupleBuffer<T> where
T: Debug + HomogeneousTuple,
<T as TupleCollect>::Buffer: Debug,
[src]impl<T> Debug for IsHtmlFormatted<T> where
T: Debug + Display,
impl<T> Debug for IsHtmlFormatted<T> where
T: Debug + Display,
impl<T> Debug for OrderedFloat<T> where
T: Debug,
impl<T> Debug for OrderedFloat<T> where
T: Debug,
impl<T, N> Debug for GenericArray<T, N> where
T: Debug,
N: ArrayLength<T>,
impl<T, N> Debug for GenericArray<T, N> where
T: Debug,
N: ArrayLength<T>,
impl<T, N> Debug for GenericArrayIter<T, N> where
T: Debug,
N: ArrayLength<T>,
impl<T, N> Debug for GenericArrayIter<T, N> where
T: Debug,
N: ArrayLength<T>,
impl<W> Debug for EncoderWriter<W> where
W: Write,
impl<W> Debug for EncoderWriter<W> where
W: Write,
impl<W, C> Debug for otter_api_tests::imports::rmp_serde::Serializer<W, C> where
C: Debug,
W: Debug,
impl<W, C> Debug for otter_api_tests::imports::rmp_serde::Serializer<W, C> where
C: Debug,
W: Debug,