Searched refs:UniqueArc (Results 1 – 4 of 4) sorted by relevance
/linux/rust/kernel/sync/ ! |
H A D | arc.rs | 215 UniqueArc::try_pin_init(init, flags).map(|u| u.into()) in try_pin_init() 223 UniqueArc::try_init(init, flags).map(|u| u.into()) in try_init() 313 /// Converts this [`Arc`] into a [`UniqueArc`], or destroys it if it is not unique. 321 /// use kernel::sync::{Arc, UniqueArc}; 335 /// use kernel::sync::{Arc, UniqueArc}; 347 pub fn into_unique_or_drop(self) -> Option<Pin<UniqueArc<T>>> { in into_unique_or_drop() 355 // no other arcs, and we can create a `UniqueArc`. in into_unique_or_drop() 364 // INVARIANT: We own the only refcount to this arc, so we may create a `UniqueArc`. We in into_unique_or_drop() 365 // must pin the `UniqueArc` because the values was previously in an `Arc`, and they pin in into_unique_or_drop() 367 Some(Pin::from(UniqueArc { in into_unique_or_drop() 718 pub struct UniqueArc<T: ?Sized> { global() struct 722 impl<T> InPlaceInit<T> for UniqueArc<T> { global() implementation 742 impl<T> InPlaceWrite<T> for UniqueArc<MaybeUninit<T>> { global() implementation 764 impl<T> UniqueArc<T> { global() implementation 792 impl<T> UniqueArc<MaybeUninit<T>> { global() implementation 848 impl<T: ?Sized> Deref for UniqueArc<T> { global() implementation 856 impl<T: ?Sized> DerefMut for UniqueArc<T> { global() implementation 884 impl<T: ?Sized> Borrow<T> for UniqueArc<T> { global() implementation 909 impl<T: ?Sized> BorrowMut<T> for UniqueArc<T> { global() implementation 915 impl<T: fmt::Display + ?Sized> fmt::Display for UniqueArc<T> { global() implementation 927 impl<T: fmt::Debug + ?Sized> fmt::Debug for UniqueArc<T> { global() implementation [all...] |
/linux/rust/kernel/list/ ! |
H A D | arc.rs | 9 use crate::sync::{Arc, ArcBorrow, UniqueArc}; 76 /// using this strategy, the only way to create a [`ListArc`] is using a [`UniqueArc`]. 140 /// simplest is to convert a [`UniqueArc`] into a `ListArc`. However, the refcounted object could 174 Ok(Self::from(UniqueArc::new(contents, flags)?)) in new() 187 Ok(Self::from(UniqueArc::try_pin_init(init, flags)?)) in pin_init() 198 Ok(Self::from(UniqueArc::try_init(init, flags)?)) in init() 202 impl<T, const ID: u64> From<UniqueArc<T>> for ListArc<T, ID> 206 /// Convert a [`UniqueArc`] into a [`ListArc`]. 208 fn from(unique: UniqueArc<T>) -> Self { in from() 213 impl<T, const ID: u64> From<Pin<UniqueArc< [all...] |
/linux/rust/kernel/ ! |
H A D | sync.rs | 21 pub use arc::{Arc, ArcBorrow, UniqueArc};
|
/linux/samples/rust/ ! |
H A D | rust_print_main.rs | 23 let b = UniqueArc::new("hello, world", GFP_KERNEL)?; in arc_print()
|