pub(crate) fn run<F, T>( interface: &dyn CompilerInterface, f: F, ) -> Result<T, Error>where F: FnOnce() -> T,