micromap_rawl/set/
display.rs1use crate::Set;
2use core::fmt::{self, Display, Formatter, Write};
3
4impl<T: PartialEq + Display, const N: usize> Display for Set<T, N> {
5 fn fmt(
6 &self,
7 f: &mut Formatter<'_>,
8 ) -> fmt::Result {
9 let mut first = true;
10 f.write_char('{')?;
11 for k in self {
12 if first {
13 first = false;
14 } else {
15 f.write_str(", ")?;
16 }
17 k.fmt(f)?;
18 }
19 f.write_char('}')?;
20 Ok(())
21 }
22}
23
24#[cfg(test)]
25mod test {
26 use super::*;
27
28 #[test]
29 fn displays_set() {
30 let mut m: Set<String, 10> = Set::new();
31 m.insert("one".to_string());
32 m.insert("two".to_string());
33 assert_eq!(r#"{"one", "two"}"#, format!("{:?}", m));
34 }
35}