Lines Matching refs:ThinArc
640 pub struct ThinArc<H: 'static, T: 'static> { struct
644 unsafe impl<H: Sync + Send, T: Sync + Send> Send for ThinArc<H, T> {} implementation
645 unsafe impl<H: Sync + Send, T: Sync + Send> Sync for ThinArc<H, T> {} implementation
661 impl<H: 'static, T: 'static> ThinArc<H, T> { implementation
693 impl<H, T> Deref for ThinArc<H, T> { implementation
702 impl<H: 'static, T: 'static> Clone for ThinArc<H, T> { implementation
705 ThinArc::with_arc(self, |a| Arc::into_thin(a.clone())) in clone()
709 impl<H: 'static, T: 'static> Drop for ThinArc<H, T> { implementation
712 let _ = Arc::from_thin(ThinArc { ptr: self.ptr }); in drop()
720 pub fn into_thin(a: Self) -> ThinArc<H, T> { in into_thin()
726 ThinArc { in into_thin()
734 pub fn from_thin(a: ThinArc<H, T>) -> Self { in from_thin()
743 impl<H: PartialEq + 'static, T: PartialEq + 'static> PartialEq for ThinArc<H, T> { implementation
745 fn eq(&self, other: &ThinArc<H, T>) -> bool { in eq()
746 ThinArc::with_arc(self, |a| { in eq()
747 ThinArc::with_arc(other, |b| { in eq()
754 impl<H: Eq + 'static, T: Eq + 'static> Eq for ThinArc<H, T> {} implementation
966 use super::{Arc, HeaderWithLength, ThinArc};
985 let y = ThinArc::with_arc(&x, |q| q.clone()); in slices_and_thin()