use crate::shared::Shared; thread_local! { static VAR_ID: Shared = Shared::new(0); } pub fn fresh_varname() -> String { VAR_ID.with(|id| { *id.borrow_mut() += 1; let i = *id.borrow(); format!("%v{i}") }) } pub fn fresh_param_name() -> String { VAR_ID.with(|id| { *id.borrow_mut() += 1; let i = *id.borrow(); format!("%p{i}") }) }