summaryrefslogtreecommitdiff
path: root/dhall_core/src/printer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'dhall_core/src/printer.rs')
-rw-r--r--dhall_core/src/printer.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/dhall_core/src/printer.rs b/dhall_core/src/printer.rs
index bb094de..bb3c427 100644
--- a/dhall_core/src/printer.rs
+++ b/dhall_core/src/printer.rs
@@ -92,12 +92,19 @@ impl<SE: Display + Clone, N, E: Display> Display for ExprF<SE, Label, N, E> {
write!(f, "{} = {}", k, v)
})?,
UnionType(a) => fmt_list("< ", " | ", " >", a, f, |(k, v), f| {
- write!(f, "{} : {}", k, v)
+ write!(f, "{} : ", k)?;
+ if let Some(v) = v {
+ v.fmt(f)?
+ }
+ Ok(())
})?,
UnionLit(a, b, c) => {
write!(f, "< {} = {}", a, b)?;
for (k, v) in c {
- write!(f, " | {} : {}", k, v)?;
+ write!(f, " | {}", k)?;
+ if let Some(v) = v {
+ write!(f, ": {}", v)?;
+ }
}
f.write_str(" >")?
}