Struct frame_support::dispatch::fmt::DebugTuple
1.2.0 · source · pub struct DebugTuple<'a, 'b>where
'b: 'a,{ /* private fields */ }Expand description
A struct to help with fmt::Debug implementations.
This is useful when you wish to output a formatted tuple as a part of your
Debug::fmt implementation.
This can be constructed by the Formatter::debug_tuple method.
Examples
use std::fmt;
struct Foo(i32, String);
impl fmt::Debug for Foo {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
fmt.debug_tuple("Foo")
.field(&self.0)
.field(&self.1)
.finish()
}
}
assert_eq!(
format!("{:?}", Foo(10, "Hello World".to_string())),
"Foo(10, \"Hello World\")",
);Implementations§
source§impl<'a, 'b> DebugTuple<'a, 'b>where
'b: 'a,
impl<'a, 'b> DebugTuple<'a, 'b>where 'b: 'a,
sourcepub fn field(&mut self, value: &dyn Debug) -> &mut DebugTuple<'a, 'b>
pub fn field(&mut self, value: &dyn Debug) -> &mut DebugTuple<'a, 'b>
Adds a new field to the generated tuple struct output.
Examples
use std::fmt;
struct Foo(i32, String);
impl fmt::Debug for Foo {
fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
fmt.debug_tuple("Foo")
.field(&self.0) // We add the first field.
.field(&self.1) // We add the second field.
.finish() // We're good to go!
}
}
assert_eq!(
format!("{:?}", Foo(10, "Hello World".to_string())),
"Foo(10, \"Hello World\")",
);sourcepub fn finish(&mut self) -> Result<(), Error>
pub fn finish(&mut self) -> Result<(), Error>
Finishes output and returns any error encountered.
Examples
use std::fmt;
struct Foo(i32, String);
impl fmt::Debug for Foo {
fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
fmt.debug_tuple("Foo")
.field(&self.0)
.field(&self.1)
.finish() // You need to call it to "finish" the
// tuple formatting.
}
}
assert_eq!(
format!("{:?}", Foo(10, "Hello World".to_string())),
"Foo(10, \"Hello World\")",
);Auto Trait Implementations§
impl<'a, 'b> !RefUnwindSafe for DebugTuple<'a, 'b>
impl<'a, 'b> !Send for DebugTuple<'a, 'b>
impl<'a, 'b> !Sync for DebugTuple<'a, 'b>
impl<'a, 'b> Unpin for DebugTuple<'a, 'b>where 'b: 'a,
impl<'a, 'b> !UnwindSafe for DebugTuple<'a, 'b>
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T.