Lines Matching refs:T
78 pub struct Lock<T: ?Sized, B: Backend> {
90 pub(crate) data: UnsafeCell<T>,
94 unsafe impl<T: ?Sized + Send, B: Backend> Send for Lock<T, B> {}
98 unsafe impl<T: ?Sized + Send, B: Backend> Sync for Lock<T, B> {}
100 impl<T, B: Backend> Lock<T, B> {
103 pub fn new(t: T, name: &'static CStr, key: &'static LockClassKey) -> impl PinInit<Self> { in new() argument
116 impl<T: ?Sized, B: Backend> Lock<T, B> {
118 pub fn lock(&self) -> Guard<'_, T, B> { in lock() argument
133 pub struct Guard<'a, T: ?Sized, B: Backend> {
134 pub(crate) lock: &'a Lock<T, B>,
140 unsafe impl<T: Sync + ?Sized, B: Backend> Sync for Guard<'_, T, B> {}
142 impl<T: ?Sized, B: Backend> Guard<'_, T, B> {
155 impl<T: ?Sized, B: Backend> core::ops::Deref for Guard<'_, T, B> {
156 type Target = T;
164 impl<T: ?Sized, B: Backend> core::ops::DerefMut for Guard<'_, T, B> {
171 impl<T: ?Sized, B: Backend> Drop for Guard<'_, T, B> {
178 impl<'a, T: ?Sized, B: Backend> Guard<'a, T, B> {
184 pub(crate) unsafe fn new(lock: &'a Lock<T, B>, state: B::GuardState) -> Self { in new() argument