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
16 "jrsonnet-evaluator/exp-bigint",16 "jrsonnet-evaluator/exp-bigint",
17 "jrsonnet-stdlib/exp-bigint",17 "jrsonnet-stdlib/exp-bigint",
18]18]
19exp-null-coaelse = [
20 "jrsonnet-evaluator/exp-null-coaelse",
21 "jrsonnet-stdlib/exp-null-coaelse",
22]
19legacy-this-file = ["jrsonnet-stdlib/legacy-this-file"]23legacy-this-file = ["jrsonnet-stdlib/legacy-this-file"]
2024
21[dependencies]25[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
--- a/crates/jrsonnet-stdlib/Cargo.toml
+++ b/crates/jrsonnet-stdlib/Cargo.toml
@@ -19,6 +19,8 @@
 # Bigint type
 exp-bigint = ["num-bigint", "jrsonnet-evaluator/exp-bigint"]
 
+exp-null-coaelse = ["jrsonnet-parser/exp-null-coaelse", "jrsonnet-evaluator/exp-null-coaelse"]
+
 [dependencies]
 jrsonnet-evaluator.workspace = true
 jrsonnet-macros.workspace = true