difftreelog
fix std.native should return null if not found
in: master
2 files changed
crates/jrsonnet-evaluator/src/builtin/mod.rsdiffbeforeafterboth375}375}376376377#[jrsonnet_macros::builtin]377#[jrsonnet_macros::builtin]378fn builtin_native(s: State, name: IStr) -> Result<FuncVal> {378fn builtin_native(s: State, name: IStr) -> Result<Any> {379 Ok(s.settings()379 Ok(Any(s380 .settings()380 .ext_natives381 .ext_natives381 .get(&name)382 .get(&name)382 .cloned()383 .cloned()383 .map(|v| FuncVal::Builtin(v.clone()))384 .map(|v| Val::Func(FuncVal::Builtin(v.clone())))384 .ok_or(UndefinedExternalFunction(name))?)385 .unwrap_or(Val::Null)))385}386}386387387#[jrsonnet_macros::builtin]388#[jrsonnet_macros::builtin]crates/jrsonnet-evaluator/src/error.rsdiffbeforeafterboth636364 #[error("external variable is not defined: {0}")]64 #[error("external variable is not defined: {0}")]65 UndefinedExternalVariable(IStr),65 UndefinedExternalVariable(IStr),66 #[error("native is not defined: {0}")]67 UndefinedExternalFunction(IStr),686669 #[error("field name should be string, got {0}")]67 #[error("field name should be string, got {0}")]70 FieldMustBeStringGot(ValType),68 FieldMustBeStringGot(ValType),