Lines Matching refs:T
203 pub struct ScopeGuard<T, F: FnOnce(T)>(Option<(T, F)>);
205 impl<T, F: FnOnce(T)> ScopeGuard<T, F> {
207 pub fn new_with_data(data: T, cleanup_func: F) -> Self { in new_with_data() argument
213 pub fn dismiss(mut self) -> T { in dismiss() argument
227 impl<T, F: FnOnce(T)> Deref for ScopeGuard<T, F> {
228 type Target = T;
230 fn deref(&self) -> &T { in deref() argument
236 impl<T, F: FnOnce(T)> DerefMut for ScopeGuard<T, F> {
237 fn deref_mut(&mut self) -> &mut T { in deref_mut() argument
243 impl<T, F: FnOnce(T)> Drop for ScopeGuard<T, F> {
307 pub struct Opaque<T> {
308 value: UnsafeCell<MaybeUninit<T>>,
313 unsafe impl<T> Zeroable for Opaque<T> {}
315 impl<T> Opaque<T> {
317 pub const fn new(value: T) -> Self { in new()
333 pub fn pin_init(slot: impl PinInit<T>) -> impl PinInit<Self> { in pin_init()
334 Self::ffi_init(|ptr: *mut T| { in pin_init()
339 let _ = unsafe { PinInit::<T>::__pinned_init(slot, ptr) }; in pin_init()
351 pub fn ffi_init(init_func: impl FnOnce(*mut T)) -> impl PinInit<Self> { in ffi_init()
371 init_func: impl FnOnce(*mut T) -> Result<(), E>, in try_ffi_init()
381 pub const fn get(&self) -> *mut T { in get() argument
382 UnsafeCell::get(&self.value).cast::<T>() in get()
389 pub const fn raw_get(this: *const Self) -> *mut T { in raw_get() argument
390 UnsafeCell::raw_get(this.cast::<UnsafeCell<MaybeUninit<T>>>()).cast::<T>() in raw_get()
440 pub struct ARef<T: AlwaysRefCounted> {
441 ptr: NonNull<T>,
442 _p: PhantomData<T>,
449 unsafe impl<T: AlwaysRefCounted + Sync + Send> Send for ARef<T> {}
456 unsafe impl<T: AlwaysRefCounted + Sync + Send> Sync for ARef<T> {}
458 impl<T: AlwaysRefCounted> ARef<T> {
469 pub unsafe fn from_raw(ptr: NonNull<T>) -> Self { in from_raw()
505 pub fn into_raw(me: Self) -> NonNull<T> { in into_raw() argument
510 impl<T: AlwaysRefCounted> Clone for ARef<T> {
518 impl<T: AlwaysRefCounted> Deref for ARef<T> {
519 type Target = T;
527 impl<T: AlwaysRefCounted> From<&T> for ARef<T> {
528 fn from(b: &T) -> Self { in from()
535 impl<T: AlwaysRefCounted> Drop for ARef<T> {
539 unsafe { T::dec_ref(self.ptr) }; in drop()