@@ -6,7 +6,7 @@ use crate::ops::{self, Packages};
66use crate :: util:: CargoResult ;
77use cargo_platform:: Platform ;
88use serde:: Serialize ;
9- use std:: collections:: HashMap ;
9+ use std:: collections:: BTreeMap ;
1010use std:: path:: PathBuf ;
1111
1212const VERSION : u32 = 1 ;
@@ -130,7 +130,7 @@ fn build_resolve_graph(
130130 // Download all Packages. This is needed to serialize the information
131131 // for every package. In theory this could honor target filtering,
132132 // but that would be somewhat complex.
133- let mut package_map: HashMap < PackageId , Package > = ws_resolve
133+ let package_map: BTreeMap < PackageId , Package > = ws_resolve
134134 . pkg_set
135135 . get_many ( ws_resolve. pkg_set . package_ids ( ) ) ?
136136 . into_iter ( )
@@ -140,7 +140,7 @@ fn build_resolve_graph(
140140
141141 // Start from the workspace roots, and recurse through filling out the
142142 // map, filtering targets as necessary.
143- let mut node_map = HashMap :: new ( ) ;
143+ let mut node_map = BTreeMap :: new ( ) ;
144144 for member_pkg in ws. members ( ) {
145145 build_resolve_graph_r (
146146 & mut node_map,
@@ -153,21 +153,22 @@ fn build_resolve_graph(
153153 }
154154 // Get a Vec of Packages.
155155 let actual_packages = package_map
156- . drain ( )
156+ . into_iter ( )
157157 . filter_map ( |( pkg_id, pkg) | node_map. get ( & pkg_id) . map ( |_| pkg) )
158158 . collect ( ) ;
159+
159160 let mr = MetadataResolve {
160- nodes : node_map. drain ( ) . map ( |( _pkg_id, node) | node) . collect ( ) ,
161+ nodes : node_map. into_iter ( ) . map ( |( _pkg_id, node) | node) . collect ( ) ,
161162 root : ws. current_opt ( ) . map ( |pkg| pkg. package_id ( ) ) ,
162163 } ;
163164 Ok ( ( actual_packages, mr) )
164165}
165166
166167fn build_resolve_graph_r (
167- node_map : & mut HashMap < PackageId , MetadataResolveNode > ,
168+ node_map : & mut BTreeMap < PackageId , MetadataResolveNode > ,
168169 pkg_id : PackageId ,
169170 resolve : & Resolve ,
170- package_map : & HashMap < PackageId , Package > ,
171+ package_map : & BTreeMap < PackageId , Package > ,
171172 target_data : & RustcTargetData ,
172173 requested_kinds : & [ CompileKind ] ,
173174) {
0 commit comments