From 57e587bf221bdc529119996a072a2738876e92ff Mon Sep 17 00:00:00 2001 From: Yaroslav Bolyukin Date: Sat, 21 Mar 2026 23:57:02 +0000 Subject: [PATCH] refactor: prepared builtin parsing is infallible --- --- a/crates/jrsonnet-evaluator/src/function/mod.rs +++ b/crates/jrsonnet-evaluator/src/function/mod.rs @@ -208,10 +208,6 @@ _tailstrict: bool, ) -> Result { match self { - FuncVal::Id => { - let args = parse_prepared_builtin_call(prepared, ID.params(), unnamed, named)?; - ID.call(loc, &args) - } FuncVal::Normal(func) => { let body_ctx = parse_prepared_function_call( func.ctx.clone(), @@ -223,12 +219,16 @@ evaluate(body_ctx, &func.body) } FuncVal::Thunk(t) => t.evaluate(), + FuncVal::Id => { + let args = parse_prepared_builtin_call(prepared, ID.params(), unnamed, named); + ID.call(loc, &args) + } FuncVal::StaticBuiltin(b) => { - let args = parse_prepared_builtin_call(prepared, b.params(), unnamed, named)?; + let args = parse_prepared_builtin_call(prepared, b.params(), unnamed, named); b.call(loc, &args) } FuncVal::Builtin(b) => { - let args = parse_prepared_builtin_call(prepared, b.params(), unnamed, named)?; + let args = parse_prepared_builtin_call(prepared, b.params(), unnamed, named); b.call(loc, &args) } } --- a/crates/jrsonnet-evaluator/src/function/prepared.rs +++ b/crates/jrsonnet-evaluator/src/function/prepared.rs @@ -180,7 +180,7 @@ params: FunctionSignature, unnamed: &[Thunk], named: &[Thunk], -) -> Result>>> { +) -> Vec>> { let mut passed_args = vec![None; params.len()]; for (param_idx, unnamed) in unnamed.iter().enumerate() { @@ -191,5 +191,5 @@ passed_args[param_idx] = Some(named[arg_idx].clone()); } - Ok(passed_args) + passed_args } -- gitstuff