From 4ded0b82caf33969d44b47c20afcbde4cf523424 Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Fri, 12 Apr 2024 00:09:43 +0300 Subject: linker: Avoid some allocations in search directory iteration --- compiler/rustc_metadata/src/native_libs.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'compiler/rustc_metadata') diff --git a/compiler/rustc_metadata/src/native_libs.rs b/compiler/rustc_metadata/src/native_libs.rs index baa2e1ff602..c43b730eccf 100644 --- a/compiler/rustc_metadata/src/native_libs.rs +++ b/compiler/rustc_metadata/src/native_libs.rs @@ -17,12 +17,12 @@ use rustc_target::spec::abi::Abi; use crate::errors; -use std::path::PathBuf; +use std::path::{Path, PathBuf}; -pub fn find_native_static_library( +pub fn find_native_static_library<'a>( name: &str, verbatim: bool, - search_paths: &[PathBuf], + search_paths: impl Iterator, sess: &Session, ) -> PathBuf { let formats = if verbatim { @@ -60,7 +60,7 @@ fn find_bundled_library( && (sess.opts.unstable_opts.packed_bundled_libs || has_cfg || whole_archive == Some(true)) { let verbatim = verbatim.unwrap_or(false); - let search_paths = &sess.target_filesearch(PathKind::Native).search_path_dirs(); + let search_paths = sess.target_filesearch(PathKind::Native).search_path_dirs(); return find_native_static_library(name.as_str(), verbatim, search_paths, sess) .file_name() .and_then(|s| s.to_str()) -- cgit 1.4.1-3-g733a5