diff options
| author | Folkert de Vries <folkert@folkertdev.nl> | 2025-08-05 12:42:03 +0200 |
|---|---|---|
| committer | Folkert de Vries <folkert@folkertdev.nl> | 2025-08-05 12:42:03 +0200 |
| commit | de01bd3c72e08a11a616cfe23dbc06afb2f22166 (patch) | |
| tree | 3433befeb4560eb1cdb252d802eb21b4350ff9d5 | |
| parent | 841c8e4f93fd4047f2b447efd633c463f14e49aa (diff) | |
| download | rust-de01bd3c72e08a11a616cfe23dbc06afb2f22166.tar.gz rust-de01bd3c72e08a11a616cfe23dbc06afb2f22166.zip | |
use `IntoIterator` for the `add_flags` methods
| -rw-r--r-- | library/stdarch/crates/intrinsic-test/src/arm/compile.rs | 6 | ||||
| -rw-r--r-- | library/stdarch/crates/intrinsic-test/src/common/compile_c.rs | 15 |
2 files changed, 11 insertions, 10 deletions
diff --git a/library/stdarch/crates/intrinsic-test/src/arm/compile.rs b/library/stdarch/crates/intrinsic-test/src/arm/compile.rs index 48a8ed950e3..7da35f9a111 100644 --- a/library/stdarch/crates/intrinsic-test/src/arm/compile.rs +++ b/library/stdarch/crates/intrinsic-test/src/arm/compile.rs @@ -6,16 +6,16 @@ pub fn build_cpp_compilation(config: &ProcessedCli) -> Option<CppCompilation> { // -ffp-contract=off emulates Rust's approach of not fusing separate mul-add operations let mut command = CompilationCommandBuilder::new() - .add_arch_flags(vec!["armv8.6-a", "crypto", "crc", "dotprod", "fp16"]) + .add_arch_flags(["armv8.6-a", "crypto", "crc", "dotprod", "fp16"]) .set_compiler(cpp_compiler) .set_target(&config.target) .set_opt_level("2") .set_cxx_toolchain_dir(config.cxx_toolchain_dir.as_deref()) .set_project_root("c_programs") - .add_extra_flags(vec!["-ffp-contract=off", "-Wno-narrowing"]); + .add_extra_flags(["-ffp-contract=off", "-Wno-narrowing"]); if !config.target.contains("v7") { - command = command.add_arch_flags(vec!["faminmax", "lut", "sha3"]); + command = command.add_arch_flags(["faminmax", "lut", "sha3"]); } if !cpp_compiler.contains("clang") { diff --git a/library/stdarch/crates/intrinsic-test/src/common/compile_c.rs b/library/stdarch/crates/intrinsic-test/src/common/compile_c.rs index 0c905a149e4..258e4181658 100644 --- a/library/stdarch/crates/intrinsic-test/src/common/compile_c.rs +++ b/library/stdarch/crates/intrinsic-test/src/common/compile_c.rs @@ -37,9 +37,9 @@ impl CompilationCommandBuilder { self } - pub fn add_arch_flags(mut self, flags: Vec<&str>) -> Self { - let mut new_arch_flags = flags.into_iter().map(|v| v.to_string()).collect(); - self.arch_flags.append(&mut new_arch_flags); + pub fn add_arch_flags<'a>(mut self, flags: impl IntoIterator<Item = &'a str>) -> Self { + self.arch_flags + .extend(flags.into_iter().map(|s| s.to_owned())); self } @@ -55,14 +55,15 @@ impl CompilationCommandBuilder { self } - pub fn add_extra_flags(mut self, flags: Vec<&str>) -> Self { - let mut flags: Vec<String> = flags.into_iter().map(|f| f.to_string()).collect(); - self.extra_flags.append(&mut flags); + pub fn add_extra_flags<'a>(mut self, flags: impl IntoIterator<Item = &'a str>) -> Self { + self.extra_flags + .extend(flags.into_iter().map(|s| s.to_owned())); + self } pub fn add_extra_flag(self, flag: &str) -> Self { - self.add_extra_flags(vec![flag]) + self.add_extra_flags([flag]) } } |
