From bd632ae06c6c0d3f9b5c2989a1570739c8632f6f Mon Sep 17 00:00:00 2001 From: bill fumerola Date: Fri, 11 Jul 2025 12:10:14 -0700 Subject: [PATCH 1/2] chore(clippy): use new collapsible 'if let' --- src/lib.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 0f1f889..3bf6f8a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -272,12 +272,12 @@ impl VersionMap { } pub fn remove(&mut self, version: &Version) -> Option { - if let Some(alternate) = version_alternate(version) { - if let Some(set) = self.alternates.get_mut(&alternate) { - set.remove(version); - if set.is_empty() { - self.alternates.remove(&alternate); - } + if let Some(alternate) = version_alternate(version) + && let Some(set) = self.alternates.get_mut(&alternate) + { + set.remove(version); + if set.is_empty() { + self.alternates.remove(&alternate); } } From c63c36ac0dba36775fd5f2b01e9d73447de1a2b7 Mon Sep 17 00:00:00 2001 From: bill fumerola Date: Mon, 14 Jul 2025 14:20:30 -0700 Subject: [PATCH 2/2] chore(clippy): must_use attribute --- src/lib.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 3bf6f8a..f089d67 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -53,6 +53,7 @@ pub struct VersionMap { impl VersionMap { /// Creates a new empty `VersionMap`. + #[must_use] pub fn new() -> Self { Self { versions: BTreeMap::new(), @@ -135,6 +136,7 @@ impl VersionMap { /// /// // Get latest major /// assert_eq!(map.get(&Version::new(1, 0, 0)), Some(&"v1.2.1")); + #[must_use] pub fn get(&self, version: &Version) -> Option<&T> { if version.build.is_empty() { let maybe_value = version_alternate(version) @@ -172,6 +174,7 @@ impl VersionMap { /// /// // Get latest major /// assert_eq!(map.get_version(&Version::new(1, 0, 0)), Some((&Version::new(1, 2, 1), &"v1.2.1"))); + #[must_use] pub fn get_version(&self, version: &Version) -> Option<(&Version, &T)> { if version.build.is_empty() { let maybe_key_value = version_alternate(version) @@ -218,6 +221,7 @@ impl VersionMap { /// // Get the latest version /// assert_eq!(map.get_or_latest(None), Some(&"v1.2.0")); /// ``` + #[must_use] pub fn get_or_latest(&self, version: Option<&Version>) -> Option<&T> { match version { Some(v) => self.get(v), @@ -254,6 +258,7 @@ impl VersionMap { /// // Get the latest version /// assert_eq!(map.get_or_latest_version(None), Some((&Version::new(1, 2, 0), &"v1.2.0"))); /// ``` + #[must_use] pub fn get_or_latest_version(&self, version: Option<&Version>) -> Option<(&Version, &T)> { match version { Some(v) => self.get_version(v), @@ -262,11 +267,13 @@ impl VersionMap { } /// Returns the latest version and its associated value. + #[must_use] pub fn get_latest(&self) -> Option<(&Version, &T)> { self.versions.last_key_value().map(|(k, v)| (k.borrow(), v)) } /// Gets a value by exact version match only, without alternate lookup. + #[must_use] pub fn get_exact(&self, version: &Version) -> Option<&T> { self.versions.get(version) }