Struct LocalScopeRef
pub struct LocalScopeRef { /* private fields */ }Expand description
Weak reference to a LocalScope to avoid circular dependencies
Since scopes can form tree structures where parent scopes might reference child scopes or vice versa, we use weak references to prevent memory leaks from circular references.
Implementations§
§impl LocalScopeRef
impl LocalScopeRef
pub fn new(strong_ref: &LocalScopeRc) -> Self
pub fn new(strong_ref: &LocalScopeRc) -> Self
Create a new LocalScopeRef from a strong reference
pub fn upgrade(&self) -> Option<LocalScopeRc>
pub fn upgrade(&self) -> Option<LocalScopeRc>
Upgrade the weak reference to a strong reference if still valid
Trait Implementations§
§impl Clone for LocalScopeRef
impl Clone for LocalScopeRef
§fn clone(&self) -> LocalScopeRef
fn clone(&self) -> LocalScopeRef
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for LocalScopeRef
impl RefUnwindSafe for LocalScopeRef
impl Send for LocalScopeRef
impl Sync for LocalScopeRef
impl Unpin for LocalScopeRef
impl UnwindSafe for LocalScopeRef
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more