linera_version/serde_pretty/
type.rs1#[derive(Debug, Clone, PartialEq, Eq, Hash)]
7pub struct Pretty<T, Repr> {
8 pub value: T,
10 _phantom: std::marker::PhantomData<fn(Repr) -> Repr>,
11}
12
13impl<T, Repr> Pretty<T, Repr> {
14 pub const fn new(value: T) -> Self {
16 Pretty {
17 value,
18 _phantom: std::marker::PhantomData,
19 }
20 }
21
22 pub fn repr(self) -> Repr
24 where
25 Repr: From<T>,
26 {
27 Repr::from(self.value)
28 }
29}
30
31impl<T, Repr> std::fmt::Display for Pretty<T, Repr>
32where
33 T: Clone,
34 Repr: std::fmt::Display + From<T>,
35{
36 fn fmt(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
37 write!(formatter, "{}", Repr::from(self.value.clone()))
38 }
39}