cxx/
fmt.rs

1use core::fmt::{self, Display};
2
3pub(crate) fn display(fmt: impl Fn(&mut fmt::Formatter) -> fmt::Result) -> impl Display {
4    DisplayInvoke(fmt)
5}
6
7struct DisplayInvoke<T>(T);
8
9impl<T> Display for DisplayInvoke<T>
10where
11    T: Fn(&mut fmt::Formatter) -> fmt::Result,
12{
13    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
14        (self.0)(formatter)
15    }
16}