git.delta.rocks / jrsonnet / refs/commits / 11555dda9997

difftreelog

fix forward null-coaelse

Yaroslav Bolyukin2023-08-06parent: #ceb1d3e.patch.diff
in: master

4 files changed

modifiedcmds/jrsonnet/Cargo.tomldiffbeforeafterboth
--- a/cmds/jrsonnet/Cargo.toml
+++ b/cmds/jrsonnet/Cargo.toml
@@ -23,7 +23,7 @@
 # Bigint type
 exp-bigint = ["jrsonnet-evaluator/exp-bigint", "jrsonnet-cli/exp-bigint"]
 # obj?.field, obj?.['field']
-exp-null-coaelse = ["jrsonnet-evaluator/exp-null-coaelse", "jrsonnet-parser/exp-null-coaelse"]
+exp-null-coaelse = ["jrsonnet-evaluator/exp-null-coaelse", "jrsonnet-parser/exp-null-coaelse", "jrsonnet-cli/exp-null-coaelse"]
 # --exp-apply
 exp-apply = []
 
modifiedcrates/jrsonnet-cli/Cargo.tomldiffbeforeafterboth
--- a/crates/jrsonnet-cli/Cargo.toml
+++ b/crates/jrsonnet-cli/Cargo.toml
@@ -16,6 +16,10 @@
     "jrsonnet-evaluator/exp-bigint",
     "jrsonnet-stdlib/exp-bigint",
 ]
+exp-null-coaelse = [
+    "jrsonnet-evaluator/exp-null-coaelse",
+    "jrsonnet-stdlib/exp-null-coaelse",
+]
 legacy-this-file = ["jrsonnet-stdlib/legacy-this-file"]
 
 [dependencies]
modifiedcrates/jrsonnet-evaluator/src/evaluate/mod.rsdiffbeforeafterboth
--- a/crates/jrsonnet-evaluator/src/evaluate/mod.rs
+++ b/crates/jrsonnet-evaluator/src/evaluate/mod.rs
@@ -461,6 +461,10 @@
 				))
 			};
 			let Some(super_obj) = ctx.super_obj() else {
+				#[cfg(feature = "exp-null-coaelse")]
+				if *null_coaelse {
+					return Ok(Val::Null);
+				}
 				throw!(NoSuperFound)
 			};
 			let this = ctx
modifiedcrates/jrsonnet-stdlib/Cargo.tomldiffbeforeafterboth
19# Bigint type19# Bigint type
20exp-bigint = ["num-bigint", "jrsonnet-evaluator/exp-bigint"]20exp-bigint = ["num-bigint", "jrsonnet-evaluator/exp-bigint"]
21
22exp-null-coaelse = ["jrsonnet-parser/exp-null-coaelse", "jrsonnet-evaluator/exp-null-coaelse"]
2123
22[dependencies]24[dependencies]
23jrsonnet-evaluator.workspace = true25jrsonnet-evaluator.workspace = true