rust_cc::cleaners

Struct Cleaner

Source
pub struct Cleaner { /* private fields */ }
Available on crate feature cleaners only.
Expand description

A type capable of registering cleaning actions.

All the cleaning actions registered in a Cleaner are run when it is dropped, unless they have been manually executed before.

Implementations§

Source§

impl Cleaner

Source

pub fn new() -> Cleaner

Creates a new Cleaner.

Source

pub fn register(&self, action: impl FnOnce() + 'static) -> Cleanable

Registers a new cleaning action inside a Cleaner.

This method returns a Cleanable, which can be used to manually run the cleaning action.

§Avoiding memory leaks

Usually, Cleaners are stored inside a cycle-collected object. Make sure to never capture a reference to the container object inside the action closure, otherwise the object will be leaked and the cleaning action will never be executed.

Trait Implementations§

Source§

impl Debug for Cleaner

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Cleaner

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Finalize for Cleaner

Source§

fn finalize(&self)

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

impl Trace for Cleaner

Source§

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

Traces the contained Ccs. See Trace for more information.

Auto Trait Implementations§

§

impl !Freeze for Cleaner

§

impl !RefUnwindSafe for Cleaner

§

impl !Send for Cleaner

§

impl !Sync for Cleaner

§

impl Unpin for Cleaner

§

impl !UnwindSafe for Cleaner

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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.