Skip to content

Commit 2b65ac8

Browse files
xtqqczzesylvestre
authored andcommitted
1 parent 67e1118 commit 2b65ac8

3 files changed

Lines changed: 14 additions & 15 deletions

File tree

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ workspace = true
226226
cloned_instead_of_copied = "warn"
227227
cloned_ref_to_slice_refs = "warn"
228228
explicit_into_iter_loop = "warn"
229+
from_iter_instead_of_collect = "warn"
229230
implicit_clone = "warn"
230231
manual_string_new = "warn"
231232
ptr_as_ptr = "warn"

src/compiler/args.rs

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -682,8 +682,7 @@ macro_rules! take_arg {
682682
#[cfg(test)]
683683
mod tests {
684684
use super::*;
685-
use itertools::{Diff, diff_with};
686-
use std::iter::FromIterator;
685+
use itertools::{Diff, Itertools as _, diff_with};
687686

688687
macro_rules! arg {
689688
($name:ident($x:expr)) => {
@@ -1028,40 +1027,38 @@ mod tests {
10281027
}
10291028
}
10301029

1031-
// https://github.com/rust-lang/rust-clippy/issues/6550
1032-
#[allow(clippy::from_iter_instead_of_collect)]
10331030
#[test]
10341031
fn test_argument_into_iter() {
10351032
// Needs type annotation or ascription
10361033
let raw: Argument<ArgData> = arg!(Raw("value"));
10371034
let unknown: Argument<ArgData> = arg!(UnknownFlag("-foo"));
1038-
assert_eq!(Vec::from_iter(raw.iter_os_strings()), ovec!["value"]);
1039-
assert_eq!(Vec::from_iter(unknown.iter_os_strings()), ovec!["-foo"]);
1035+
assert_eq!(raw.iter_os_strings().collect_vec(), ovec!["value"]);
1036+
assert_eq!(unknown.iter_os_strings().collect_vec(), ovec!["-foo"]);
10401037
assert_eq!(
1041-
Vec::from_iter(arg!(Flag("-foo", FooFlag)).iter_os_strings()),
1038+
arg!(Flag("-foo", FooFlag)).iter_os_strings().collect_vec(),
10421039
ovec!["-foo"]
10431040
);
10441041

10451042
let arg = arg!(WithValue("-foo", Foo("bar"), Concatenated));
1046-
assert_eq!(Vec::from_iter(arg.iter_os_strings()), ovec!["-foobar"]);
1043+
assert_eq!(arg.iter_os_strings().collect_vec(), ovec!["-foobar"]);
10471044

10481045
let arg = arg!(WithValue("-foo", Foo("bar"), Concatenated(b'=')));
1049-
assert_eq!(Vec::from_iter(arg.iter_os_strings()), ovec!["-foo=bar"]);
1046+
assert_eq!(arg.iter_os_strings().collect_vec(), ovec!["-foo=bar"]);
10501047

10511048
let arg = arg!(WithValue("-foo", Foo("bar"), CanBeSeparated));
1052-
assert_eq!(Vec::from_iter(arg.iter_os_strings()), ovec!["-foobar"]);
1049+
assert_eq!(arg.iter_os_strings().collect_vec(), ovec!["-foobar"]);
10531050

10541051
let arg = arg!(WithValue("-foo", Foo("bar"), CanBeSeparated(b'=')));
1055-
assert_eq!(Vec::from_iter(arg.iter_os_strings()), ovec!["-foo=bar"]);
1052+
assert_eq!(arg.iter_os_strings().collect_vec(), ovec!["-foo=bar"]);
10561053

10571054
let arg = arg!(WithValue("-foo", Foo("bar"), CanBeConcatenated));
1058-
assert_eq!(Vec::from_iter(arg.iter_os_strings()), ovec!["-foo", "bar"]);
1055+
assert_eq!(arg.iter_os_strings().collect_vec(), ovec!["-foo", "bar"]);
10591056

10601057
let arg = arg!(WithValue("-foo", Foo("bar"), CanBeConcatenated(b'=')));
1061-
assert_eq!(Vec::from_iter(arg.iter_os_strings()), ovec!["-foo", "bar"]);
1058+
assert_eq!(arg.iter_os_strings().collect_vec(), ovec!["-foo", "bar"]);
10621059

10631060
let arg = arg!(WithValue("-foo", Foo("bar"), Separated));
1064-
assert_eq!(Vec::from_iter(arg.iter_os_strings()), ovec!["-foo", "bar"]);
1061+
assert_eq!(arg.iter_os_strings().collect_vec(), ovec!["-foo", "bar"]);
10651062
}
10661063

10671064
#[test]

src/compiler/compiler.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ use async_trait::async_trait;
4141
use filetime::FileTime;
4242
use fs::File;
4343
use fs_err as fs;
44+
use itertools::Itertools as _;
4445
use serde::{Deserialize, Serialize};
4546
use std::borrow::Cow;
4647
use std::ffi::{OsStr, OsString};
@@ -1715,7 +1716,7 @@ compiler_version=__VERSION__
17151716
let arg = arg.unwrap_or_else(|_| Argument::Raw(OsString::from("")));
17161717
if let Some(Detect_PassThrough(_)) = arg.get_data() {
17171718
let required_arg = arg.normalize(NormalizedDisposition::Concatenated);
1718-
cmd.args(&Vec::from_iter(required_arg.iter_os_strings()));
1719+
cmd.args(&required_arg.iter_os_strings().collect_vec());
17191720
}
17201721
}
17211722

0 commit comments

Comments
 (0)