diff options
author | Nadrieril | 2019-04-16 21:54:32 +0200 |
---|---|---|
committer | Nadrieril | 2019-04-16 21:54:32 +0200 |
commit | d93be73890d0db0d34afaaebd3db1b87d68fb9b7 (patch) | |
tree | fdc485e299d6db37963db1f59e7b8a3daf3aa2ba /dhall_core/src/printer.rs | |
parent | a0c36547372db5421704e4c8f17226a25ea57b7a (diff) |
Prepare for nullary union variants
Diffstat (limited to 'dhall_core/src/printer.rs')
-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(" >")? } |