Skip to content

Commit 4966f53

Browse files
committed
Make a dependencies map while building feature map
1 parent e357d17 commit 4966f53

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/cargo/core/summary.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::collections::BTreeMap;
1+
use std::collections::{BTreeMap, HashMap};
22
use std::mem;
33
use std::rc::Rc;
44

@@ -133,6 +133,11 @@ fn build_feature_map(
133133
dependencies: &[Dependency],
134134
) -> CargoResult<FeatureMap> {
135135
use self::FeatureValue::*;
136+
let dep_map: HashMap<_, _> = dependencies
137+
.iter()
138+
.map(|d| (d.name().as_str(), d))
139+
.collect();
140+
136141
let mut map = BTreeMap::new();
137142
for (feature, list) in features.iter() {
138143
let mut values = vec![];
@@ -148,7 +153,7 @@ fn build_feature_map(
148153
match val {
149154
Feature(_) => None,
150155
Crate(ref dep_name) | CrateFeature(ref dep_name, _) => {
151-
dependencies.iter().find(|d| d.name() == *dep_name)
156+
dep_map.get(dep_name.as_str())
152157
}
153158
}
154159
};

0 commit comments

Comments
 (0)