Lines Matching refs:T

163 pub struct ListArc<T, const ID: u64 = 0>
165 T: ListArcSafe<ID> + ?Sized,
167 arc: Arc<T>,
170 impl<T: ListArcSafe<ID>, const ID: u64> ListArc<T, ID> {
173 pub fn new(contents: T, flags: Flags) -> Result<Self, AllocError> { in new() argument
183 pub fn pin_init<E>(init: impl PinInit<T, E>, flags: Flags) -> Result<Self, E> in pin_init() argument
194 pub fn init<E>(init: impl Init<T, E>, flags: Flags) -> Result<Self, E> in init() argument
202 impl<T, const ID: u64> From<UniqueArc<T>> for ListArc<T, ID>
204 T: ListArcSafe<ID> + ?Sized,
208 fn from(unique: UniqueArc<T>) -> Self { in from()
213 impl<T, const ID: u64> From<Pin<UniqueArc<T>>> for ListArc<T, ID>
215 T: ListArcSafe<ID> + ?Sized,
219 fn from(mut unique: Pin<UniqueArc<T>>) -> Self { in from()
221 unsafe { T::on_create_list_arc_from_unique(unique.as_mut()) }; in from()
229 impl<T, const ID: u64> ListArc<T, ID>
231 T: ListArcSafe<ID> + ?Sized,
237 pub fn pair_from_unique<const ID2: u64>(unique: UniqueArc<T>) -> (Self, ListArc<T, ID2>) in pair_from_unique() argument
239 T: ListArcSafe<ID2>, in pair_from_unique()
249 mut unique: Pin<UniqueArc<T>>, in pair_from_pin_unique() argument
250 ) -> (Self, ListArc<T, ID2>) in pair_from_pin_unique() argument
252 T: ListArcSafe<ID2>, in pair_from_pin_unique()
257 unsafe { <T as ListArcSafe<ID>>::on_create_list_arc_from_unique(unique.as_mut()) }; in pair_from_pin_unique()
259 unsafe { <T as ListArcSafe<ID2>>::on_create_list_arc_from_unique(unique.as_mut()) }; in pair_from_pin_unique()
277 pub fn try_from_arc(arc: Arc<T>) -> Result<Self, Arc<T>> in try_from_arc()
279 T: TryNewListArc<ID>, in try_from_arc()
293 pub fn try_from_arc_borrow(arc: ArcBorrow<'_, T>) -> Option<Self> in try_from_arc_borrow()
295 T: TryNewListArc<ID>, in try_from_arc_borrow()
310 pub fn try_from_arc_or_drop(arc: Arc<T>) -> Option<Self> in try_from_arc_or_drop()
312 T: TryNewListArc<ID>, in try_from_arc_or_drop()
327 unsafe fn transmute_from_arc(arc: Arc<T>) -> Self { in transmute_from_arc()
337 fn transmute_to_arc(self) -> Arc<T> { in transmute_to_arc() argument
349 pub fn into_raw(self) -> *const T { in into_raw() argument
361 pub unsafe fn from_raw(ptr: *const T) -> Self { in from_raw()
371 pub fn into_arc(self) -> Arc<T> { in into_arc() argument
374 unsafe { T::on_drop_list_arc(&arc) }; in into_arc()
380 pub fn clone_arc(&self) -> Arc<T> { in clone_arc() argument
391 pub fn as_arc(&self) -> &Arc<T> { in as_arc() argument
400 pub fn as_arc_borrow(&self) -> ArcBorrow<'_, T> { in as_arc_borrow() argument
411 impl<T, const ID: u64> Deref for ListArc<T, ID>
413 T: ListArcSafe<ID> + ?Sized,
415 type Target = T;
423 impl<T, const ID: u64> Drop for ListArc<T, ID>
425 T: ListArcSafe<ID> + ?Sized,
431 unsafe { T::on_drop_list_arc(&self.arc) }; in drop()
435 impl<T, const ID: u64> AsRef<Arc<T>> for ListArc<T, ID>
437 T: ListArcSafe<ID> + ?Sized,
440 fn as_ref(&self) -> &Arc<T> { in as_ref() argument
448 impl<T, U, const ID: u64> core::ops::CoerceUnsized<ListArc<U, ID>> for ListArc<T, ID>
450 T: ListArcSafe<ID> + core::marker::Unsize<U> + ?Sized,
458 impl<T, U, const ID: u64> core::ops::DispatchFromDyn<ListArc<U, ID>> for ListArc<T, ID>
460 T: ListArcSafe<ID> + core::marker::Unsize<U> + ?Sized,