Struct const_format::fmt::DebugSet [−][src]
pub struct DebugSet<'f, 'w> { /* fields omitted */ }This is supported on crate feature
fmt only.Expand description
For debug formatting a set.
Example
This example demonstrates how you can debug format a custom type as a set.
#![feature(const_mut_refs)]
use const_format::{Error, Formatter};
use const_format::{formatc, impl_fmt, try_};
use std::ops::Range;
fn main() {
const SET: &str = formatc!("{:?}", StrSet(&["foo", "bar", "baz"]));
assert_eq!(SET, r#"{"foo", "bar", "baz"}"#);
}
struct StrSet(&'static [&'static str]);
impl_fmt!{
impl StrSet;
const fn const_debug_fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error> {
let mut f = f.debug_set();
let mut i = 0;
while i < self.0.len() {
try_!(f.entry().write_str_debug(self.0[i]));
i+=1;
}
f.finish()
}
}