difftreelog
fix forward null-coaelse
in: master
4 files changed
cmds/jrsonnet/Cargo.tomldiffbeforeafterboth23# Bigint type23# Bigint type24exp-bigint = ["jrsonnet-evaluator/exp-bigint", "jrsonnet-cli/exp-bigint"]24exp-bigint = ["jrsonnet-evaluator/exp-bigint", "jrsonnet-cli/exp-bigint"]25# obj?.field, obj?.['field']25# obj?.field, obj?.['field']26exp-null-coaelse = ["jrsonnet-evaluator/exp-null-coaelse", "jrsonnet-parser/exp-null-coaelse"]26exp-null-coaelse = ["jrsonnet-evaluator/exp-null-coaelse", "jrsonnet-parser/exp-null-coaelse", "jrsonnet-cli/exp-null-coaelse"]27# --exp-apply27# --exp-apply28exp-apply = []28exp-apply = []2929crates/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]
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