Struct CollectOptions

Source
#[non_exhaustive]
pub struct CollectOptions { pub old_gen_threshold: usize, pub kind: CollectionType, }
Expand description

Provides settings which control how cycle-collection is performed.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§old_gen_threshold: usize

The number of times a pointer may be seen in the young gen before moving it to the old gen for a full tracing collection. Setting this to zero will cause all pointers to move to the old gen if they cannot be immediately cleaned up.

§kind: CollectionType

The kind of collection to perform, e.g. just the young gen, or full tracing of both old & young gen.

Implementations§

Source§

impl CollectOptions

Source

pub const DEFAULT: Self

The default options for cycle collection. Items remain in the young gen for 5 cycles, and both old and young gen will be process for each collection. These options will be used when calling collect

Source

pub const TRACE_AND_COLLECT_ALL: Self

Forces tracing collection for all items currently awaiting cleanup.

Source

pub const YOUNG_ONLY: Self

Only runs collection for the young generation. This will still move old items to the old gen.

Source

pub const fn set_kind(self, kind: CollectionType) -> Self

Alter the CollectionType performed when calling collect_with_options.

Source

pub const fn set_old_gen_threshold(self, threshold: usize) -> Self

Alter the number of times an item may be seen in the young generation before being moved to the old generation and traced.

Trait Implementations§

Source§

impl Clone for CollectOptions

Source§

fn clone(&self) -> CollectOptions

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for CollectOptions

Source§

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

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

impl Default for CollectOptions

Source§

fn default() -> Self

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

impl PartialEq for CollectOptions

Source§

fn eq(&self, other: &CollectOptions) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

const fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for CollectOptions

Source§

impl Eq for CollectOptions

Source§

impl StructuralPartialEq for CollectOptions

Auto Trait Implementations§

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§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

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

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. 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,

Source§

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

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.