Lines Matching refs:T
68 pub struct ARef<T: AlwaysRefCounted> {
69 ptr: NonNull<T>,
70 _p: PhantomData<T>,
77 unsafe impl<T: AlwaysRefCounted + Sync + Send> Send for ARef<T> {}
84 unsafe impl<T: AlwaysRefCounted + Sync + Send> Sync for ARef<T> {}
87 impl<T: AlwaysRefCounted> Unpin for ARef<T> {}
89 impl<T: AlwaysRefCounted> ARef<T> {
100 pub unsafe fn from_raw(ptr: NonNull<T>) -> Self { in from_raw()
136 pub fn into_raw(me: Self) -> NonNull<T> { in into_raw() argument
141 impl<T: AlwaysRefCounted> Clone for ARef<T> {
149 impl<T: AlwaysRefCounted> Deref for ARef<T> {
150 type Target = T;
158 impl<T: AlwaysRefCounted> From<&T> for ARef<T> {
159 fn from(b: &T) -> Self { in from()
166 impl<T: AlwaysRefCounted> Drop for ARef<T> {
170 unsafe { T::dec_ref(self.ptr) }; in drop()
174 impl<T, U> PartialEq<ARef<U>> for ARef<T>
176 T: AlwaysRefCounted + PartialEq<U>,
181 T::eq(&**self, &**other) in eq()
184 impl<T: AlwaysRefCounted + Eq> Eq for ARef<T> {}
186 impl<T, U> PartialEq<&'_ U> for ARef<T>
188 T: AlwaysRefCounted + PartialEq<U>,
192 T::eq(&**self, other) in eq()