pub struct DebugSet<'f, 'w> { /* private fields */ }
Expand description
For debug formatting a set.
§Example
This example demonstrates how you can debug format a custom type as a set.
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()
}
}
Implementations§
Auto Trait Implementations§
impl<'f, 'w> Freeze for DebugSet<'f, 'w>
impl<'f, 'w> RefUnwindSafe for DebugSet<'f, 'w>
impl<'f, 'w> Send for DebugSet<'f, 'w>
impl<'f, 'w> Sync for DebugSet<'f, 'w>
impl<'f, 'w> Unpin for DebugSet<'f, 'w>
impl<'f, 'w> !UnwindSafe for DebugSet<'f, 'w>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 16 bytes