micromap_rawl/set/
display.rs

1use 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}