use std::fmt::Display;
pub struct ListDisplay<'a, TS>(pub TS, pub &'a str);
impl<TS> Display for ListDisplay<'_, TS>
where
TS: Clone + IntoIterator,
TS::Item: Display,
{
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
let mut did_something = false;
for item in self.0.clone().into_iter() {
if did_something {
f.write_str(self.1)?;
}
Display::fmt(&item, f)?;
did_something = true;
}
Ok(())
}
}