diff --git a/dinghy-lib/src/compiler.rs b/dinghy-lib/src/compiler.rs index c5e372bc..e8953094 100644 --- a/dinghy-lib/src/compiler.rs +++ b/dinghy-lib/src/compiler.rs @@ -445,13 +445,14 @@ fn find_all_linked_library_names(compilation: &Compilation, build_args: &BuildAr lib_name.split("=").last().map(|it| it.to_string()).unwrap_or(lib_name) } - let linked_library_names = WalkDir::new(&compilation.root_output) - .into_iter() - .filter_map(|walk_entry| walk_entry.map(|it| it.path().to_path_buf()).ok()) - .filter(is_output_file) - .map(|output_file| CargoOps::BuildOutput::parse_file(&output_file, "idontcare")) - .flat_map(|build_output| build_output.map(|it| it.library_links)) - .flatten() + let linked_library_names = + Itertools::flatten( + WalkDir::new(&compilation.root_output) + .into_iter() + .filter_map(|walk_entry| walk_entry.map(|it| it.path().to_path_buf()).ok()) + .filter(is_output_file) + .map(|output_file| CargoOps::BuildOutput::parse_file(&output_file, "idontcare")) + .flat_map(|build_output| build_output.map(|it| it.library_links))) .map(|lib_name| lib_name.clone()) .map(parse_lib_name) .chain(build_args.forced_overlays.clone())