Expand description
A utility crate to make it easier to work with the
Formatter
§Examples
Nested debug help struct:
use core::fmt::{Debug, Formatter, Result};
use format::lazy_format;
use std::format;
struct Foo {
bar: [u32; 10],
}
impl Debug for Foo {
fn fmt(&self, f: &mut Formatter) -> Result {
let bar = lazy_format!(|f| f.debug_list().entries(&self.bar).finish());
f.debug_struct("Foo")
.field("bar", &format_args!("{}", bar))
.finish()
}
}
assert_eq!(
"Foo { bar: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] }",
format!("{:?}", Foo { bar: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] })
);
Control flow:
use core::fmt::{Debug, Formatter, Result};
use format::lazy_format;
use std::format;
struct Foo(usize);
impl Debug for Foo {
fn fmt(&self, f: &mut Formatter) -> Result {
let alternate = f.alternate();
let bar = lazy_format!(|f| if alternate {
write!(f, "{:#x}", self.0)
} else {
write!(f, "{:x}", self.0)
});
f.debug_tuple("Foo")
.field(&format_args!("{}", bar))
.finish()
}
}
assert_eq!("Foo(75bcd15)", format!("{:?}", Foo(0123456789)));
assert_eq!("Foo(\n 0x75bcd15,\n)", format!("{:#?}", Foo(0123456789)));
Macros§
- lazy_
format - Lazy format macro
Structs§
- Binary
- A lazy format type that implements Binary as base format trait, Display and Debug as derivative from Binary
- Debug
- A lazy format type that implements Debug as base format trait
- Display
- A lazy format type that implements Display as base format trait, Debug as derivative from Display
- Lower
Exp - A lazy format type that implements LowerExp as base format trait, Display and Debug as derivative from LowerExp
- Lower
Hex - A lazy format type that implements LowerHex as base format trait, Display and Debug as derivative from LowerHex
- Octal
- A lazy format type that implements Octal as base format trait, Display and Debug as derivative from Octal
- Pointer
- A lazy format type that implements Pointer as base format trait, Display and Debug as derivative from Pointer
- Upper
Exp - A lazy format type that implements UpperExp as base format trait, Display and Debug as derivative from UpperExp
- Upper
Hex - A lazy format type that implements UpperHex as base format trait, Display and Debug as derivative from UpperHex