--- a/crates/jrsonnet-evaluator/src/builtin/mod.rs +++ b/crates/jrsonnet-evaluator/src/builtin/mod.rs @@ -375,13 +375,14 @@ } #[jrsonnet_macros::builtin] -fn builtin_native(s: State, name: IStr) -> Result { - Ok(s.settings() +fn builtin_native(s: State, name: IStr) -> Result { + Ok(Any(s + .settings() .ext_natives .get(&name) .cloned() - .map(|v| FuncVal::Builtin(v.clone())) - .ok_or(UndefinedExternalFunction(name))?) + .map(|v| Val::Func(FuncVal::Builtin(v.clone()))) + .unwrap_or(Val::Null))) } #[jrsonnet_macros::builtin] --- a/crates/jrsonnet-evaluator/src/error.rs +++ b/crates/jrsonnet-evaluator/src/error.rs @@ -63,8 +63,6 @@ #[error("external variable is not defined: {0}")] UndefinedExternalVariable(IStr), - #[error("native is not defined: {0}")] - UndefinedExternalFunction(IStr), #[error("field name should be string, got {0}")] FieldMustBeStringGot(ValType),