Skip to content

Commit ed20e40

Browse files
authored
Merge pull request #3057 from bjorn3/display_setting_value
Implement Display for settings::Value
2 parents 93b7cdd + 37115c1 commit ed20e40

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

cranelift/codegen/src/settings.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,24 @@ impl Value {
115115
}
116116
}
117117

118+
impl fmt::Display for Value {
119+
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
120+
if let Some(enum_variant) = self.as_enum() {
121+
write!(f, "{}={}", self.name, enum_variant)
122+
} else if let Some(num) = self.as_num() {
123+
write!(f, "{}={}", self.name, num)
124+
} else if let Some(b) = self.as_bool() {
125+
if b {
126+
write!(f, "{}=1", self.name)
127+
} else {
128+
write!(f, "{}=0", self.name)
129+
}
130+
} else {
131+
unreachable!()
132+
}
133+
}
134+
}
135+
118136
/// Collect settings values based on a template.
119137
#[derive(Clone, Hash)]
120138
pub struct Builder {

0 commit comments

Comments
 (0)