From 4bed7b11e227a3151a2ff9e74f9662c126aad5a4 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Fri, 19 Apr 2019 14:42:36 +0200 Subject: Make App() only store one argument --- dhall/src/binary.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'dhall/src/binary.rs') diff --git a/dhall/src/binary.rs b/dhall/src/binary.rs index c12aa2a..62ebcf7 100644 --- a/dhall/src/binary.rs +++ b/dhall/src/binary.rs @@ -42,12 +42,12 @@ fn cbor_value_to_dhall(data: &cbor::Value) -> Result { Var(V(l, *n as usize)) } [U64(0), f, args..] => { - let f = cbor_value_to_dhall(&f)?; - let args = args - .iter() - .map(cbor_value_to_dhall) - .collect::, _>>()?; - App(f, args) + let mut f = cbor_value_to_dhall(&f)?; + for a in args { + let a = cbor_value_to_dhall(&a)?; + f = rc(App(f, a)) + } + return Ok(f); } [U64(1), x, y] => { let x = cbor_value_to_dhall(&x)?; -- cgit v1.2.3 From 83bc67d4572fe7961842f915d5559ee489e13dfd Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sat, 20 Apr 2019 23:12:25 +0200 Subject: An empty optional value is purely semantic --- dhall/src/binary.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'dhall/src/binary.rs') diff --git a/dhall/src/binary.rs b/dhall/src/binary.rs index 62ebcf7..7ded3a5 100644 --- a/dhall/src/binary.rs +++ b/dhall/src/binary.rs @@ -111,7 +111,7 @@ fn cbor_value_to_dhall(data: &cbor::Value) -> Result { } [U64(5), Null, x] => { let x = cbor_value_to_dhall(&x)?; - NEOptionalLit(x) + SomeLit(x) } [U64(5), t, x] => { let x = cbor_value_to_dhall(&x)?; -- cgit v1.2.3