From 96aaca1cc67ad5bda2701171620bdbf9a778dbf0 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Fri, 22 Jul 2022 01:36:22 +1000 Subject: [PATCH] Optimize `CratesToml`: Use `String` as key to avoid cost of deserializing (`CrateVersionSource::from_str`). Signed-off-by: Jiahao XU --- src/metafiles/v1.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/metafiles/v1.rs b/src/metafiles/v1.rs index e0dbcb1e..414155a9 100644 --- a/src/metafiles/v1.rs +++ b/src/metafiles/v1.rs @@ -13,7 +13,7 @@ use super::CrateVersionSource; #[derive(Clone, Debug, Default, Deserialize, Serialize)] pub struct CratesToml { - v1: BTreeMap>, + v1: BTreeMap>, } impl CratesToml { @@ -31,7 +31,7 @@ impl CratesToml { } pub fn insert(&mut self, cvs: CrateVersionSource, bins: BTreeSet) { - self.v1.insert(cvs, bins); + self.v1.insert(cvs.to_string(), bins); } pub fn write(&self) -> Result<(), CratesTomlParseError> {