File tree 1 file changed +11
-8
lines changed
1 file changed +11
-8
lines changed Original file line number Diff line number Diff line change @@ -96,15 +96,18 @@ impl EncodableResolve {
96
96
g
97
97
} ;
98
98
99
- let replacements: HashMap < _ , _ > = try!( live_pkgs. values ( )
100
- . filter_map ( |& ( ref id, pkg) | pkg. replace . as_ref ( ) . and_then ( |replace| {
101
- assert ! ( pkg. dependencies. is_none( ) ) ;
102
- match lookup_id ( replace) {
103
- Err ( e) => Some ( Err ( e) ) ,
104
- Ok ( None ) => None ,
105
- Ok ( Some ( replace) ) => Some ( Ok ( ( id. clone ( ) , replace) ) )
99
+ let replacements = {
100
+ let mut replacements = HashMap :: new ( ) ;
101
+ for & ( ref id, ref pkg) in live_pkgs. values ( ) {
102
+ if let Some ( ref replace) = pkg. replace {
103
+ assert ! ( pkg. dependencies. is_none( ) ) ;
104
+ if let Some ( replace_id) = try!( lookup_id ( replace) ) {
105
+ replacements. insert ( id. clone ( ) , replace_id) ;
106
+ }
106
107
}
107
- } ) ) . collect ( ) ) ;
108
+ }
109
+ replacements
110
+ } ;
108
111
109
112
let mut metadata = self . metadata . unwrap_or ( BTreeMap :: new ( ) ) ;
110
113
You can’t perform that action at this time.
0 commit comments