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(16 "<top-level-arg>".into(),17 IStr::empty(),18 )),19 CallLocation::native(),20 args,21 false,22 )23 },24 )?25 } else {26 val27 })28}