Lines Matching refs:T
162 pub struct ListArc<T, const ID: u64 = 0>
164 T: ListArcSafe<ID> + ?Sized,
166 arc: Arc<T>,
169 impl<T: ListArcSafe<ID>, const ID: u64> ListArc<T, ID> {
172 pub fn new(contents: T, flags: Flags) -> Result<Self, AllocError> { in new() argument
182 pub fn pin_init<E>(init: impl PinInit<T, E>, flags: Flags) -> Result<Self, E> in pin_init() argument
193 pub fn init<E>(init: impl Init<T, E>, flags: Flags) -> Result<Self, E> in init() argument
201 impl<T, const ID: u64> From<UniqueArc<T>> for ListArc<T, ID>
203 T: ListArcSafe<ID> + ?Sized,
207 fn from(unique: UniqueArc<T>) -> Self { in from()
212 impl<T, const ID: u64> From<Pin<UniqueArc<T>>> for ListArc<T, ID>
214 T: ListArcSafe<ID> + ?Sized,
218 fn from(mut unique: Pin<UniqueArc<T>>) -> Self { in from()
220 unsafe { T::on_create_list_arc_from_unique(unique.as_mut()) }; in from()
228 impl<T, const ID: u64> ListArc<T, ID>
230 T: ListArcSafe<ID> + ?Sized,
236 pub fn pair_from_unique<const ID2: u64>(unique: UniqueArc<T>) -> (Self, ListArc<T, ID2>) in pair_from_unique() argument
238 T: ListArcSafe<ID2>, in pair_from_unique()
248 mut unique: Pin<UniqueArc<T>>, in pair_from_pin_unique() argument
249 ) -> (Self, ListArc<T, ID2>) in pair_from_pin_unique() argument
251 T: ListArcSafe<ID2>, in pair_from_pin_unique()
256 unsafe { <T as ListArcSafe<ID>>::on_create_list_arc_from_unique(unique.as_mut()) }; in pair_from_pin_unique()
258 unsafe { <T as ListArcSafe<ID2>>::on_create_list_arc_from_unique(unique.as_mut()) }; in pair_from_pin_unique()
276 pub fn try_from_arc(arc: Arc<T>) -> Result<Self, Arc<T>> in try_from_arc()
278 T: TryNewListArc<ID>, in try_from_arc()
292 pub fn try_from_arc_borrow(arc: ArcBorrow<'_, T>) -> Option<Self> in try_from_arc_borrow()
294 T: TryNewListArc<ID>, in try_from_arc_borrow()
309 pub fn try_from_arc_or_drop(arc: Arc<T>) -> Option<Self> in try_from_arc_or_drop()
311 T: TryNewListArc<ID>, in try_from_arc_or_drop()
326 unsafe fn transmute_from_arc(arc: Arc<T>) -> Self { in transmute_from_arc()
336 fn transmute_to_arc(self) -> Arc<T> { in transmute_to_arc() argument
348 pub fn into_raw(self) -> *const T { in into_raw() argument
360 pub unsafe fn from_raw(ptr: *const T) -> Self { in from_raw()
370 pub fn into_arc(self) -> Arc<T> { in into_arc() argument
373 unsafe { T::on_drop_list_arc(&arc) }; in into_arc()
379 pub fn clone_arc(&self) -> Arc<T> { in clone_arc() argument
390 pub fn as_arc(&self) -> &Arc<T> { in as_arc() argument
399 pub fn as_arc_borrow(&self) -> ArcBorrow<'_, T> { in as_arc_borrow() argument
410 impl<T, const ID: u64> Deref for ListArc<T, ID>
412 T: ListArcSafe<ID> + ?Sized,
414 type Target = T;
422 impl<T, const ID: u64> Drop for ListArc<T, ID>
424 T: ListArcSafe<ID> + ?Sized,
430 unsafe { T::on_drop_list_arc(&self.arc) }; in drop()
434 impl<T, const ID: u64> AsRef<Arc<T>> for ListArc<T, ID>
436 T: ListArcSafe<ID> + ?Sized,
439 fn as_ref(&self) -> &Arc<T> { in as_ref() argument
445 impl<T, const ID: u64> core::ops::Receiver for ListArc<T, ID> where T: ListArcSafe<ID> + ?Sized {}
449 impl<T, U, const ID: u64> core::ops::CoerceUnsized<ListArc<U, ID>> for ListArc<T, ID>
451 T: ListArcSafe<ID> + Unsize<U> + ?Sized,
458 impl<T, U, const ID: u64> core::ops::DispatchFromDyn<ListArc<U, ID>> for ListArc<T, ID>
460 T: ListArcSafe<ID> + Unsize<U> + ?Sized,