1use jrsonnet_interner::IStr;2use jrsonnet_parser::Source;34use crate::{5 function::{ArgsLike, CallLocation},6 Result, State, Val,7};89pub fn apply_tla<A: ArgsLike>(s: State, args: &A, val: Val) -> Result<Val> {10 Ok(if let Val::Func(func) = val {11 State::push_description(12 || "during TLA call".to_owned(),13 || {14 func.evaluate(15 s.create_default_context(Source::new_virtual("<top-level-arg>".into(), IStr::empty())),16 CallLocation::native(),17 args,18 false,19 )20 },21 )?22 } else {23 val24 })25}