fn resolve_recursive( dependencies: &[MetadataDependency], base_dir: &Path, compiler: &dyn CompilerBackend, resolved: &mut HashMap<String, PathBuf>, path_stack: &mut Vec<String>, ) -> Result<(), String>