xref: /third_party/rust/crates/cxx/src/fmt.rs (revision 33d722a9)
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}
17