rune/compile/v1/
display_named.rs
1use core::fmt;
2
3pub(super) struct DisplayNamed<T> {
5 value: T,
6 name: Option<&'static str>,
7}
8
9impl<T> DisplayNamed<T> {
10 #[inline]
11 pub(super) const fn new(value: T, name: Option<&'static str>) -> Self {
12 Self { value, name }
13 }
14}
15
16impl<T> fmt::Display for DisplayNamed<T>
17where
18 T: fmt::Display,
19{
20 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
21 match self.name {
22 Some(name) => write!(f, "{} ({})", self.value, name),
23 None => self.value.fmt(f),
24 }
25 }
26}