diff options
Diffstat (limited to '')
-rw-r--r-- | dhall_core/src/printer.rs | 11 |
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(" >")? } |