From c60959707e4aaa0e296c67f7a8e467a89a3858d8 Mon Sep 17 00:00:00 2001 From: Ethan Brierley Date: Sat, 23 Mar 2024 14:57:54 +0000 Subject: [PATCH 1/2] fix: remove duplicate #[must_use] `Secret::try_from` returns `Result` which is already `#[must_use]` --- src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index c767460..81e26f7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -33,7 +33,6 @@ impl Secret { Self(secret.into()) } #[inline] - #[must_use] pub fn try_from>(secret: U) -> Result> { secret.try_into().map(Self).map_err(Secret) } From ba16120c090e0a9f69e02ceec29d04e588556d18 Mon Sep 17 00:00:00 2001 From: Ethan Brierley Date: Sat, 23 Mar 2024 15:01:53 +0000 Subject: [PATCH 2/2] refactor: use elided lifetimes for `SerializableSecret` --- src/serde.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/serde.rs b/src/serde.rs index b3af37f..071d55b 100644 --- a/src/serde.rs +++ b/src/serde.rs @@ -23,13 +23,13 @@ pub trait SerializableSecret { Self: 'a; /// To reduce the number of functions that are able to expose secrets we require /// that the [`Secret::expose_secret`] function is passed in here. - fn expose_via<'a>(&'a self, expose: impl Fn(&Secret) -> &T) -> Self::Exposed<'a>; + fn expose_via(&self, expose: impl Fn(&Secret) -> &T) -> Self::Exposed<'_>; } impl SerializableSecret for Secret { type Exposed<'a> = &'a T where T: 'a; - fn expose_via<'a>(&'a self, expose: impl Fn(&Secret) -> &T) -> Self::Exposed<'a> { + fn expose_via(&self, expose: impl Fn(&Secret) -> &T) -> Self::Exposed<'_> { expose(self) } } @@ -37,7 +37,7 @@ impl SerializableSecret for Secret { impl SerializableSecret for Option> { type Exposed<'a> = Option<&'a T> where T: 'a; - fn expose_via<'a>(&'a self, expose: impl Fn(&Secret) -> &T) -> Self::Exposed<'a> { + fn expose_via(&self, expose: impl Fn(&Secret) -> &T) -> Self::Exposed<'_> { self.as_ref().map(expose) } }