From: Eh2406 Date: Sat, 3 Mar 2018 17:49:15 +0000 (-0500) Subject: Use `HashMap` insted of `BTreeMap` X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~2^2~64^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=cb0df8e399d30c4129d454912ffb3e119061b295;p=cargo.git Use `HashMap` insted of `BTreeMap` --- diff --git a/src/cargo/core/dependency.rs b/src/cargo/core/dependency.rs index 122f060ea..00fddd499 100644 --- a/src/cargo/core/dependency.rs +++ b/src/cargo/core/dependency.rs @@ -12,13 +12,13 @@ use util::errors::{CargoResult, CargoResultExt, CargoError}; /// Information about a dependency requested by a Cargo manifest. /// Cheap to copy. -#[derive(PartialEq, Eq, Ord, PartialOrd, Clone, Debug)] +#[derive(PartialEq, Eq, Hash, Ord, PartialOrd, Clone, Debug)] pub struct Dependency { inner: Rc, } /// The data underlying a Dependency. -#[derive(PartialEq, Eq, Ord, PartialOrd, Clone, Debug)] +#[derive(PartialEq, Eq, Hash, Ord, PartialOrd, Clone, Debug)] struct Inner { name: String, source_id: SourceId, @@ -38,7 +38,7 @@ struct Inner { platform: Option, } -#[derive(Eq, PartialEq, Ord, PartialOrd, Clone, Debug)] +#[derive(Eq, PartialEq, Hash, Ord, PartialOrd, Clone, Debug)] pub enum Platform { Name(String), Cfg(CfgExpr), @@ -76,7 +76,7 @@ impl ser::Serialize for Dependency { } } -#[derive(PartialEq, Eq, Ord, PartialOrd, Clone, Debug, Copy)] +#[derive(PartialEq, Eq, Hash, Ord, PartialOrd, Clone, Debug, Copy)] pub enum Kind { Normal, Development, diff --git a/src/cargo/core/resolver/mod.rs b/src/cargo/core/resolver/mod.rs index c461b9d6a..264c32c82 100644 --- a/src/cargo/core/resolver/mod.rs +++ b/src/cargo/core/resolver/mod.rs @@ -574,7 +574,7 @@ struct RegistryQueryer<'a> { registry: &'a mut (Registry + 'a), replacements: &'a [(PackageIdSpec, Dependency)], // TODO: with nll the Rc can be removed - cache: BTreeMap>>, + cache: HashMap>>, } impl<'a> RegistryQueryer<'a> { @@ -582,7 +582,7 @@ impl<'a> RegistryQueryer<'a> { RegistryQueryer { registry, replacements, - cache: BTreeMap::new(), + cache: HashMap::new(), } } diff --git a/src/cargo/util/cfg.rs b/src/cargo/util/cfg.rs index 847d00df1..b1d73a835 100644 --- a/src/cargo/util/cfg.rs +++ b/src/cargo/util/cfg.rs @@ -4,13 +4,13 @@ use std::fmt; use util::{CargoError, CargoResult}; -#[derive(Eq, PartialEq, Ord, PartialOrd, Clone, Debug)] +#[derive(Eq, PartialEq, Hash, Ord, PartialOrd, Clone, Debug)] pub enum Cfg { Name(String), KeyPair(String, String), } -#[derive(Eq, PartialEq, Ord, PartialOrd, Clone, Debug)] +#[derive(Eq, PartialEq, Hash, Ord, PartialOrd, Clone, Debug)] pub enum CfgExpr { Not(Box), All(Vec),