From 05b0b24acaf304d89101e9f5bea8989c495c0f44 Mon Sep 17 00:00:00 2001 From: Botahamec Date: Wed, 25 Sep 2024 20:55:52 -0400 Subject: Better error implementation --- src/poisonable/error.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/poisonable/error.rs') diff --git a/src/poisonable/error.rs b/src/poisonable/error.rs index 98a167c..2384953 100644 --- a/src/poisonable/error.rs +++ b/src/poisonable/error.rs @@ -17,6 +17,28 @@ impl fmt::Display for PoisonError { impl Error for PoisonError {} +impl PoisonError { + #[must_use] + pub const fn new(guard: Guard) -> Self { + Self { guard } + } + + #[must_use] + pub fn into_inner(self) -> Guard { + self.guard + } + + #[must_use] + pub const fn get_ref(&self) -> &Guard { + &self.guard + } + + #[must_use] + pub fn get_mut(&mut self) -> &mut Guard { + &mut self.guard + } +} + impl<'flag, 'key, G, Key> fmt::Debug for TryLockPoisonableError<'flag, 'key, G, Key> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match *self { -- cgit v1.2.3