[PATCH 4 of 5] rust: address 'error: unnecessarily eager cloning of iterator items'
Manuel Jacob
me at manueljacob.de
Fri Feb 2 01:17:00 UTC 2024
On 12/01/2024 00.59, Mads Kiilerich wrote:
> # HG changeset patch
> # User Mads Kiilerich <mads at kiilerich.com>
> # Date 1705001854 -3600
> # Thu Jan 11 20:37:34 2024 +0100
> # Branch stable
> # Node ID f2e61759ac0e0125e275acc72bda8a00258762b9
> # Parent 8e16bc622b04e2eabb3a47138aa3bdffba03e142
> rust: address 'error: unnecessarily eager cloning of iterator items'
>
> Build failed with a reference to
> https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned
> which seems reasonable. There doesn't seem to be any reason to not follow the advice.
>
> diff --git a/rust/hg-core/src/matchers.rs b/rust/hg-core/src/matchers.rs
> --- a/rust/hg-core/src/matchers.rs
> +++ b/rust/hg-core/src/matchers.rs
> @@ -595,7 +595,7 @@ impl IntersectionMatcher {
> std::mem::swap(&mut m1, &mut m2);
> }
> m1.file_set().map(|m1_files| {
> - m1_files.iter().cloned().filter(|f| m2.matches(f)).collect()
> + m1_files.iter().filter(|f| m2.matches(f)).cloned().collect()
> })
> } else {
> // without exact input file sets, we can't do an exact
> @@ -688,7 +688,7 @@ impl DifferenceMatcher {
> };
> if base_is_exact {
> new.files = base_files.map(|files| {
> - files.iter().cloned().filter(|f| new.matches(f)).collect()
> + files.iter().filter(|f| new.matches(f)).cloned().collect()
> });
> }
> new
>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at lists.mercurial-scm.org
> https://lists.mercurial-scm.org/mailman/listinfo/mercurial-devel
I have almost no experience with Rust, but it seems reasonable.
More information about the Mercurial-devel
mailing list