summaryrefslogtreecommitdiff
path: root/src/collection/guard.rs
blob: e3ffb21e7387ac3e70193351c9b2db61b2b90d0c (plain)
use std::ops::{Deref, DerefMut};

use crate::{key::Keyable, Lockable};

use super::LockGuard;

impl<'a, 'key: 'a, L: Lockable + 'a, Key: Keyable> Deref for LockGuard<'a, 'key, L, Key> {
	type Target = L::Guard<'a>;

	fn deref(&self) -> &Self::Target {
		&self.guard
	}
}

impl<'a, 'key: 'a, L: Lockable + 'a, Key: Keyable> DerefMut for LockGuard<'a, 'key, L, Key> {
	fn deref_mut(&mut self) -> &mut Self::Target {
		&mut self.guard
	}
}