diff options
Diffstat (limited to 'src/poisonable/error.rs')
| -rw-r--r-- | src/poisonable/error.rs | 22 |
1 files changed, 22 insertions, 0 deletions
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<Guard> fmt::Display for PoisonError<Guard> { impl<Guard> Error for PoisonError<Guard> {} +impl<Guard> PoisonError<Guard> { + #[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 { |
