difftreelog
fix forward null-coaelse
in: master
4 files changed
cmds/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 = []
crates/jrsonnet-cli/Cargo.tomldiffbeforeafterboth16 "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"]202421[dependencies]25[dependencies]crates/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
crates/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