let pkg = Package::new(manifest, &manifest_path);
let pkg_id = pkg.package_id().clone();
- if !all_packages.contains_key(&pkg_id) {
- all_packages.insert(pkg_id, pkg);
- } else {
- info!("skipping nested package `{}` found at `{}`",
- pkg.name(), path.to_string_lossy());
+ use ::std::collections::hash_map::Entry;
+ match all_packages.entry(pkg_id) {
+ Entry::Vacant(v) => { v.insert(pkg); },
+ Entry::Occupied(_) => {
+ info!("skipping nested package `{}` found at `{}`",
+ pkg.name(), path.to_string_lossy());
+ }
}
// Registry sources are not allowed to have `path=` dependencies because