[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