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}