pub trait Weak: Sealed {
type A: ?Sized;
type Strong: Ptr<A = Self::A, Weak = Self>;
// Required methods
fn upgrade_ptr(&self) -> Option<Self::Strong>;
fn value(&self) -> *const Self::A;
fn is_alive(&self) -> bool;
}
pub trait Weak: Sealed {
type A: ?Sized;
type Strong: Ptr<A = Self::A, Weak = Self>;
// Required methods
fn upgrade_ptr(&self) -> Option<Self::Strong>;
fn value(&self) -> *const Self::A;
fn is_alive(&self) -> bool;
}