Lines Matching refs:T
106 pub struct Lock<T: ?Sized, B: Backend> {
118 pub(crate) data: UnsafeCell<T>,
122 unsafe impl<T: ?Sized + Send, B: Backend> Send for Lock<T, B> {}
126 unsafe impl<T: ?Sized + Send, B: Backend> Sync for Lock<T, B> {}
128 impl<T, B: Backend> Lock<T, B> {
130 pub fn new(t: T, name: &'static CStr, key: Pin<&'static LockClassKey>) -> impl PinInit<Self> { in new() argument
165 impl<T: ?Sized, B: Backend> Lock<T, B> {
167 pub fn lock(&self) -> Guard<'_, T, B> { in lock() argument
178 pub fn try_lock(&self) -> Option<Guard<'_, T, B>> { in try_lock() argument
191 pub struct Guard<'a, T: ?Sized, B: Backend> {
192 pub(crate) lock: &'a Lock<T, B>,
198 unsafe impl<T: Sync + ?Sized, B: Backend> Sync for Guard<'_, T, B> {}
200 impl<'a, T: ?Sized, B: Backend> Guard<'a, T, B> {
227 pub fn lock_ref(&self) -> &'a Lock<T, B> { in lock_ref() argument
243 impl<T: ?Sized, B: Backend> core::ops::Deref for Guard<'_, T, B> {
244 type Target = T;
252 impl<T: ?Sized, B: Backend> core::ops::DerefMut for Guard<'_, T, B> {
259 impl<T: ?Sized, B: Backend> Drop for Guard<'_, T, B> {
266 impl<'a, T: ?Sized, B: Backend> Guard<'a, T, B> {
272 pub unsafe fn new(lock: &'a Lock<T, B>, state: B::GuardState) -> Self { in new() argument