summaryrefslogtreecommitdiff
path: root/dhall/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--dhall/src/phase/binary.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/dhall/src/phase/binary.rs b/dhall/src/phase/binary.rs
index 66b235f..f88eee2 100644
--- a/dhall/src/phase/binary.rs
+++ b/dhall/src/phase/binary.rs
@@ -341,6 +341,10 @@ fn cbor_value_to_dhall(
let y = cbor_value_to_dhall(&y)?;
Annot(x, y)
}
+ [U64(27), x] => {
+ let x = cbor_value_to_dhall(&x)?;
+ EmptyListLit(x)
+ }
_ => Err(DecodeError::WrongFormatError(format!("{:?}", data)))?,
},
_ => Err(DecodeError::WrongFormatError(format!("{:?}", data)))?,
@@ -475,9 +479,9 @@ where
EmptyListLit(x) => match x.as_ref() {
App(f, a) => match f.as_ref() {
ExprF::Builtin(Builtin::List) => ser_seq!(ser; tag(4), expr(a)),
- _ => unreachable!(),
+ _ => ser_seq!(ser; tag(27), expr(x)),
},
- _ => unreachable!(),
+ _ => ser_seq!(ser; tag(27), expr(x)),
},
NEListLit(xs) => ser.collect_seq(
once(tag(4)).chain(once(null())).chain(xs.iter().map(expr)),