@@ -491,7 +491,7 @@ fn print_lockfile_generation(
491
491
resolve : & Resolve ,
492
492
registry : & mut PackageRegistry < ' _ > ,
493
493
) -> CargoResult < ( ) > {
494
- let diff = PackageDiff :: new ( & resolve) ;
494
+ let diff: Vec < _ > = PackageDiff :: new ( & resolve) . collect ( ) ;
495
495
let num_pkgs: usize = diff. iter ( ) . map ( |d| d. added . len ( ) ) . sum ( ) ;
496
496
if num_pkgs <= 1 {
497
497
// just ourself, nothing worth reporting
@@ -537,7 +537,7 @@ fn print_lockfile_sync(
537
537
resolve : & Resolve ,
538
538
registry : & mut PackageRegistry < ' _ > ,
539
539
) -> CargoResult < ( ) > {
540
- let diff = PackageDiff :: diff ( & previous_resolve, & resolve) ;
540
+ let diff: Vec < _ > = PackageDiff :: diff ( & previous_resolve, & resolve) . collect ( ) ;
541
541
let num_pkgs: usize = diff. iter ( ) . map ( |d| d. added . len ( ) ) . sum ( ) ;
542
542
if num_pkgs == 0 {
543
543
return Ok ( ( ) ) ;
@@ -619,7 +619,7 @@ fn print_lockfile_updates(
619
619
precise : bool ,
620
620
registry : & mut PackageRegistry < ' _ > ,
621
621
) -> CargoResult < ( ) > {
622
- let diff = PackageDiff :: diff ( & previous_resolve, & resolve) ;
622
+ let diff: Vec < _ > = PackageDiff :: diff ( & previous_resolve, & resolve) . collect ( ) ;
623
623
let num_pkgs: usize = diff. iter ( ) . map ( |d| d. added . len ( ) ) . sum ( ) ;
624
624
if !precise {
625
625
status_locking ( ws, num_pkgs) ?;
@@ -836,7 +836,7 @@ pub struct PackageDiff {
836
836
}
837
837
838
838
impl PackageDiff {
839
- pub fn new ( resolve : & Resolve ) -> Vec < Self > {
839
+ pub fn new ( resolve : & Resolve ) -> impl Iterator < Item = Self > {
840
840
let mut changes = BTreeMap :: new ( ) ;
841
841
let empty = Self :: default ( ) ;
842
842
for dep in resolve. iter ( ) {
@@ -847,10 +847,10 @@ impl PackageDiff {
847
847
. push ( dep) ;
848
848
}
849
849
850
- changes. into_iter ( ) . map ( |( _, v) | v) . collect ( )
850
+ changes. into_iter ( ) . map ( |( _, v) | v)
851
851
}
852
852
853
- pub fn diff ( previous_resolve : & Resolve , resolve : & Resolve ) -> Vec < Self > {
853
+ pub fn diff ( previous_resolve : & Resolve , resolve : & Resolve ) -> impl Iterator < Item = Self > {
854
854
fn vec_subset ( a : & [ PackageId ] , b : & [ PackageId ] ) -> Vec < PackageId > {
855
855
a. iter ( ) . filter ( |a| !contains_id ( b, a) ) . cloned ( ) . collect ( )
856
856
}
@@ -921,7 +921,7 @@ impl PackageDiff {
921
921
}
922
922
debug ! ( "{:#?}" , changes) ;
923
923
924
- changes. into_iter ( ) . map ( |( _, v) | v) . collect ( )
924
+ changes. into_iter ( ) . map ( |( _, v) | v)
925
925
}
926
926
927
927
fn key ( dep : PackageId ) -> ( & ' static str , SourceId ) {
0 commit comments