Struct rust_cc::weak::Weak

source ·
pub struct Weak<T: ?Sized + Trace + 'static> { /* private fields */ }
Available on crate feature weak-ptr only.
Expand description

A non-owning pointer to the managed allocation.

Implementations§

source§

impl<T: ?Sized + Trace + 'static> Weak<T>

source

pub fn upgrade(&self) -> Option<Cc<Weakable<T>>>

Tries to upgrade the weak pointer to a Cc, returning None if the allocation has already been deallocated.

This creates a Cc pointer to the managed allocation, increasing the strong reference count.

§Panics

Panics if the strong reference count exceeds the maximum supported.

source

pub fn ptr_eq(this: &Weak<T>, other: &Weak<T>) -> bool

Returns true if the two Weaks point to the same allocation. This function ignores the metadata of dyn Trait pointers.

source

pub fn strong_count(&self) -> u32

Returns the number of Ccs to the pointed allocation.

source

pub fn weak_count(&self) -> u32

Returns the number of Weaks to the pointed allocation.

Trait Implementations§

source§

impl<T: ?Sized + Trace + 'static> Clone for Weak<T>

source§

fn clone(&self) -> Self

Makes a clone of the Weak pointer.

This creates another Weak pointer to the same allocation, increasing the weak reference count.

§Panics

Panics if the weak reference count exceeds the maximum supported.

1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: ?Sized + Trace + 'static> Drop for Weak<T>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<T: ?Sized + Trace + 'static> Finalize for Weak<T>

source§

fn finalize(&self)

The finalizer, which is called after an object becomes garbage and before droping it. Read more
source§

impl<T: ?Sized + Trace + 'static> Trace for Weak<T>

source§

fn trace(&self, _: &mut Context<'_>)

Traces the contained Ccs. See Trace for more information.
source§

impl<T, U> CoerceUnsized<Weak<U>> for Weak<T>
where T: ?Sized + Trace + Unsize<U> + 'static, U: ?Sized + Trace + 'static,

Available on crate feature nightly only.

Auto Trait Implementations§

§

impl<T> Freeze for Weak<T>
where T: ?Sized,

§

impl<T> !RefUnwindSafe for Weak<T>

§

impl<T> !Send for Weak<T>

§

impl<T> !Sync for Weak<T>

§

impl<T> Unpin for Weak<T>
where T: ?Sized,

§

impl<T> !UnwindSafe for Weak<T>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.