diff --git a/main/refuse/all.html b/main/refuse/all.html index c7bbb90..91c43bb 100644 --- a/main/refuse/all.html +++ b/main/refuse/all.html @@ -1,2 +1,2 @@ List of all items in this crate -

List of all items

Structs

Traits

Derive Macros

Functions

\ No newline at end of file +

List of all items

Structs

Traits

Derive Macros

Functions

\ No newline at end of file diff --git a/main/refuse/fn.collect.html b/main/refuse/fn.collect.html index c6aa057..b14e56b 100644 --- a/main/refuse/fn.collect.html +++ b/main/refuse/fn.collect.html @@ -1,5 +1,5 @@ collect in refuse - Rust -

Function refuse::collect

source ·
pub fn collect()
Expand description

Invokes the garbage collector.

+

Function refuse::collect

source ·
pub fn collect()
Expand description

Invokes the garbage collector.

§Panics

This function will panic if any CollectionGuards are held and not yielding by the current thread when invoked. If a guard is held, consider diff --git a/main/refuse/fn.try_collect.html b/main/refuse/fn.try_collect.html index 7a48811..9eb000f 100644 --- a/main/refuse/fn.try_collect.html +++ b/main/refuse/fn.try_collect.html @@ -1,5 +1,5 @@ try_collect in refuse - Rust

-

Function refuse::try_collect

source ·
pub fn try_collect() -> Result<(), WouldDeadlock>
Expand description

Invokes the garbage collector.

+

Function refuse::try_collect

source ·
pub fn try_collect() -> Result<(), WouldDeadlock>
Expand description

Invokes the garbage collector.

§Errors

If any CollectionGuards are held by this thread when this function is invoked, WouldDeadlock is returned.

diff --git a/main/refuse/index.html b/main/refuse/index.html index 3bd91cd..a4486af 100644 --- a/main/refuse/index.html +++ b/main/refuse/index.html @@ -1,6 +1,6 @@ refuse - Rust -

Crate refuse

source ·
Expand description

§Refuse

+

Crate refuse

source ·
Expand description

§Refuse

An easy-to-use, incremental, multi-threaded garbage collector for Rust.

//! A basic usage example demonstrating the garbage collector.
@@ -152,6 +152,6 @@ 

§1 thread

-

Modules§

  • Architecture overview of the underlying design of Refuse.

Structs§

  • A type-erased garbage collected reference.
  • A guard that prevents garbage collection while held.
  • A pool of garbage collected values.
  • A reference to data stored in a garbage collector.
  • A root reference to a T that has been allocated in the garbage collector.
  • A tracer for the garbage collector.
  • An error indicating an operation would deadlock.
  • A marker indicating that a coordinated +

Modules§

  • Architecture overview of the underlying design of Refuse.

Structs§

  • A type-erased garbage collected reference.
  • A type-erased root garbage collected reference.
  • A guard that prevents garbage collection while held.
  • A pool of garbage collected values.
  • A reference to data stored in a garbage collector.
  • A root reference to a T that has been allocated in the garbage collector.
  • A tracer for the garbage collector.
  • An error indicating an operation would deadlock.
  • A marker indicating that a coordinated yield has completed.
  • A pending yield to the garbage collector.

Traits§

Functions§

Derive Macros§

\ No newline at end of file diff --git a/main/refuse/sidebar-items.js b/main/refuse/sidebar-items.js index 0b3ef05..874ae7f 100644 --- a/main/refuse/sidebar-items.js +++ b/main/refuse/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"derive":["MapAs","Trace"],"fn":["collect","try_collect"],"mod":["architecture"],"struct":["AnyRef","CollectionGuard","LocalPool","Ref","Root","Tracer","WouldDeadlock","YieldComplete","Yielder"],"trait":["Collectable","ContainsNoRefs","MapAs","NoMapping","SimpleType","Trace"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"derive":["MapAs","Trace"],"fn":["collect","try_collect"],"mod":["architecture"],"struct":["AnyRef","AnyRoot","CollectionGuard","LocalPool","Ref","Root","Tracer","WouldDeadlock","YieldComplete","Yielder"],"trait":["Collectable","ContainsNoRefs","MapAs","NoMapping","SimpleType","Trace"]}; \ No newline at end of file diff --git a/main/refuse/struct.AnyRef.html b/main/refuse/struct.AnyRef.html index 2c901cc..5a83e18 100644 --- a/main/refuse/struct.AnyRef.html +++ b/main/refuse/struct.AnyRef.html @@ -1,50 +1,50 @@ AnyRef in refuse - Rust -

Struct refuse::AnyRef

source ·
pub struct AnyRef { /* private fields */ }
Expand description

A type-erased garbage collected reference.

-

Implementations§

source§

impl AnyRef

source

pub const fn downcast_ref<T>(&self) -> Ref<T>
where +

Struct refuse::AnyRef

source ·
pub struct AnyRef { /* private fields */ }
Expand description

A type-erased garbage collected reference.

+

Implementations§

source§

impl AnyRef

source

pub const fn downcast_ref<T>(&self) -> Ref<T>
where T: Collectable,

Returns a Ref<T>.

This function does not do any type checking. If T is not the correct type, attempting to load the underyling value will fail.

-
source

pub fn downcast_root<T>(&self, guard: &CollectionGuard<'_>) -> Option<Root<T>>
where +

source

pub fn downcast_root<T>(&self, guard: &CollectionGuard<'_>) -> Option<Root<T>>
where T: Collectable,

Returns a Root<T> if the underlying reference points to a T that has not been collected.

-
source

pub fn load<'guard, T>( +

source

pub fn load<'guard, T>( &self, guard: &'guard CollectionGuard<'_> ) -> Option<&'guard T>
where T: Collectable,

Loads a reference to the underlying data. Returns None if the data has been collected and is no longer available.

-
source

pub fn load_mapped<'guard, T>( +

source

pub fn load_mapped<'guard, T>( &self, guard: &'guard CollectionGuard<'_> ) -> Option<&'guard T>
where T: ?Sized + 'static,

Returns a reference to the result of MapAs::map_as(), if the value has not been collected and MapAs::Target is T.

-

Trait Implementations§

source§

impl Clone for AnyRef

source§

fn clone(&self) -> AnyRef

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl From<&AnyRef> for AnyRef

source§

fn from(value: &AnyRef) -> Self

Converts to this type from the input type.
source§

impl<T> From<&Ref<T>> for AnyRef
where - T: Collectable,

source§

fn from(value: &Ref<T>) -> Self

Converts to this type from the input type.
source§

impl<T> From<&Root<T>> for AnyRef
where - T: Collectable,

source§

fn from(value: &Root<T>) -> Self

Converts to this type from the input type.
source§

impl<T> From<Ref<T>> for AnyRef
where - T: Collectable,

source§

fn from(value: Ref<T>) -> Self

Converts to this type from the input type.
source§

impl Hash for AnyRef

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for AnyRef

source§

fn clone(&self) -> AnyRef

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl From<&AnyRef> for AnyRef

source§

fn from(value: &AnyRef) -> Self

Converts to this type from the input type.
source§

impl<T> From<&Ref<T>> for AnyRef
where + T: Collectable,

source§

fn from(value: &Ref<T>) -> Self

Converts to this type from the input type.
source§

impl<T> From<&Root<T>> for AnyRef
where + T: Collectable,

source§

fn from(value: &Root<T>) -> Self

Converts to this type from the input type.
source§

impl<T> From<Ref<T>> for AnyRef
where + T: Collectable,

source§

fn from(value: Ref<T>) -> Self

Converts to this type from the input type.
source§

impl Hash for AnyRef

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for AnyRef

source§

fn cmp(&self, other: &AnyRef) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for AnyRef

source§

fn cmp(&self, other: &AnyRef) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<T> PartialEq<&AnyRef> for Ref<T>
where - T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<&AnyRef> for Root<T>
where - T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd,
Restrict a value to a certain interval. Read more
source§

impl<T> PartialEq<&AnyRef> for Ref<T>
where + T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<AnyRef> for Ref<T>
where - T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used -by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<AnyRef> for Root<T>
where - T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<&AnyRef> for Root<T>
where + T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialEq for AnyRef

source§

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

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<AnyRef> for Ref<T>
where + T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<AnyRef> for Root<T>
where + T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for AnyRef

source§

fn partial_cmp(&self, other: &AnyRef) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialEq for AnyRef

source§

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

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for AnyRef

source§

fn partial_cmp(&self, other: &AnyRef) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

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

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

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

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Trace for AnyRef

source§

const MAY_CONTAIN_REFERENCES: bool = true

If true, this type may contain references and should have its trace() -function invoked during the collector’s “mark” phase.
source§

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

Traces all refrences that this value references. Read more
source§

impl Copy for AnyRef

source§

impl Eq for AnyRef

source§

impl StructuralPartialEq for AnyRef

Auto Trait Implementations§

§

impl Freeze for AnyRef

§

impl RefUnwindSafe for AnyRef

§

impl Send for AnyRef

§

impl Sync for AnyRef

§

impl Unpin for AnyRef

§

impl UnwindSafe for AnyRef

Blanket Implementations§

source§

impl<T> Any for T
where +operator. Read more

source§

impl Trace for AnyRef

source§

const MAY_CONTAIN_REFERENCES: bool = true

If true, this type may contain references and should have its trace() +function invoked during the collector’s “mark” phase.
source§

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

Traces all refrences that this value references. Read more
source§

impl Copy for AnyRef

source§

impl Eq for AnyRef

source§

impl StructuralPartialEq for AnyRef

Auto Trait Implementations§

§

impl Freeze for AnyRef

§

impl RefUnwindSafe for AnyRef

§

impl Send for AnyRef

§

impl Sync for AnyRef

§

impl Unpin for AnyRef

§

impl UnwindSafe for AnyRef

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
§

impl<A> Cast for A

§

fn cast<To>(self) -> To
where diff --git a/main/refuse/struct.AnyRoot.html b/main/refuse/struct.AnyRoot.html new file mode 100644 index 0000000..6ef6be4 --- /dev/null +++ b/main/refuse/struct.AnyRoot.html @@ -0,0 +1,31 @@ +AnyRoot in refuse - Rust +

Struct refuse::AnyRoot

source ·
pub struct AnyRoot { /* private fields */ }
Expand description

A type-erased root garbage collected reference.

+

Implementations§

source§

impl AnyRoot

source

pub fn load<T>(&self) -> Option<&T>
where + T: Collectable,

Loads a reference to the underlying data. Returns None if T is not +the type of the underlying data.

+
source

pub const fn as_any(&self) -> AnyRef

Returns an untyped “weak” reference to this root.

+

Trait Implementations§

source§

impl Clone for AnyRoot

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Drop for AnyRoot

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<T> From<Root<T>> for AnyRoot
where + T: Collectable,

source§

fn from(value: Root<T>) -> Self

Converts to this type from the input type.
source§

impl Hash for AnyRoot

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where + H: Hasher, + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for AnyRoot

source§

fn cmp(&self, other: &AnyRoot) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where + Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where + Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for AnyRoot

source§

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

This method tests for self and other values to be equal, and is used +by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for AnyRoot

source§

fn partial_cmp(&self, other: &AnyRoot) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
1.0.0 · source§

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

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

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

This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
source§

impl Eq for AnyRoot

source§

impl Send for AnyRoot

source§

impl StructuralPartialEq for AnyRoot

source§

impl Sync for AnyRoot

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
§

impl<A> Cast for A

§

fn cast<To>(self) -> To
where + To: CastFrom<A>,

Casts self to the To type. This may be a lossy operation.
§

impl<A> CastFrom<A> for A

§

fn from_cast(from: A) -> A

Returns from as Self.
§

impl<A, B> CastInto<A> for B
where + A: CastFrom<B>,

§

fn cast_into(self) -> A

Returns self as To.
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.

+
§

impl<Key, SearchFor> Sort<SearchFor> for Key
where + Key: Ord + PartialOrd<SearchFor>,

§

fn compare(&self, b: &SearchFor) -> Ordering

Compare self and other, returning the comparison result. Read more
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.
\ No newline at end of file diff --git a/main/refuse/struct.Ref.html b/main/refuse/struct.Ref.html index 9190532..b38072a 100644 --- a/main/refuse/struct.Ref.html +++ b/main/refuse/struct.Ref.html @@ -1,5 +1,5 @@ Ref in refuse - Rust -

Struct refuse::Ref

source ·
pub struct Ref<T> { /* private fields */ }
Expand description

A reference to data stored in a garbage collector.

+

Struct refuse::Ref

source ·
pub struct Ref<T> { /* private fields */ }
Expand description

A reference to data stored in a garbage collector.

Unlike a Root<T>, this type is not guaranteed to have access to its underlying data. If no Collectable reachable via all active Roots marks this allocation, it will be collected.

@@ -37,52 +37,52 @@

// error[E0502]: cannot borrow `guard` as mutable because it is also borrowed as immutable assert_eq!(reference, &42);

-

Implementations§

source§

impl<T> Ref<T>
where - T: Collectable,

source

pub fn new<'a>(value: T, guard: impl AsRef<CollectionGuard<'a>>) -> Self

Stores value in the garbage collector, returning a “weak” reference to +

Implementations§

source§

impl<T> Ref<T>
where + T: Collectable,

source

pub fn new<'a>(value: T, guard: impl AsRef<CollectionGuard<'a>>) -> Self

Stores value in the garbage collector, returning a “weak” reference to it.

-
source

pub fn as_any(self) -> AnyRef

Returns this reference as an untyped reference.

-
source

pub fn load<'guard>( +

source

pub const fn as_any(self) -> AnyRef

Returns this reference as an untyped reference.

+
source

pub fn load<'guard>( &self, guard: &'guard CollectionGuard<'_> ) -> Option<&'guard T>

Loads a reference to the underlying data. Returns None if the data has been collected and is no longer available.

-
source

pub fn as_root(&self, guard: &CollectionGuard<'_>) -> Option<Root<T>>

Loads a root reference to the underlying data. Returns None if the +

source

pub fn as_root(&self, guard: &CollectionGuard<'_>) -> Option<Root<T>>

Loads a root reference to the underlying data. Returns None if the data has been collected and is no longer available.

-

Trait Implementations§

source§

impl<T> AsRef<Ref<T>> for Ref<T>

source§

fn as_ref(&self) -> &Ref<T>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<T> AsRef<Ref<T>> for Root<T>
where - T: Collectable,

source§

fn as_ref(&self) -> &Ref<T>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<T> Clone for Ref<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<T> Debug for Ref<T>
where - T: Collectable + Debug,

source§

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

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

impl<T> From<&Ref<T>> for AnyRef
where - T: Collectable,

source§

fn from(value: &Ref<T>) -> Self

Converts to this type from the input type.
source§

impl<T> From<Ref<T>> for AnyRef
where - T: Collectable,

source§

fn from(value: Ref<T>) -> Self

Converts to this type from the input type.
source§

impl<T> Hash for Ref<T>

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl<T> AsRef<Ref<T>> for Ref<T>

source§

fn as_ref(&self) -> &Ref<T>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<T> AsRef<Ref<T>> for Root<T>
where + T: Collectable,

source§

fn as_ref(&self) -> &Ref<T>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<T> Clone for Ref<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<T> Debug for Ref<T>
where + T: Collectable + Debug,

source§

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

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

impl<T> From<&Ref<T>> for AnyRef
where + T: Collectable,

source§

fn from(value: &Ref<T>) -> Self

Converts to this type from the input type.
source§

impl<T> From<Ref<T>> for AnyRef
where + T: Collectable,

source§

fn from(value: Ref<T>) -> Self

Converts to this type from the input type.
source§

impl<T> Hash for Ref<T>

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<T> Ord for Ref<T>

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<T> Ord for Ref<T>

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<T> PartialEq<&AnyRef> for Ref<T>
where - T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<T> PartialEq<&AnyRef> for Ref<T>
where + T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<&Ref<T>> for Root<T>
where - T: Collectable,

source§

fn eq(&self, other: &&Ref<T>) -> bool

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<&Ref<T>> for Root<T>
where + T: Collectable,

source§

fn eq(&self, other: &&Ref<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<&Root<T>> for Ref<T>
where - T: Collectable,

source§

fn eq(&self, other: &&Root<T>) -> bool

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<&Root<T>> for Ref<T>
where + T: Collectable,

source§

fn eq(&self, other: &&Root<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<AnyRef> for Ref<T>
where - T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<AnyRef> for Ref<T>
where + T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<Ref<T>> for Root<T>
where - T: Collectable,

source§

fn eq(&self, other: &Ref<T>) -> bool

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<Ref<T>> for Root<T>
where + T: Collectable,

source§

fn eq(&self, other: &Ref<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<Root<T>> for Ref<T>
where - T: Collectable,

source§

fn eq(&self, other: &Root<T>) -> bool

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<Root<T>> for Ref<T>
where + T: Collectable,

source§

fn eq(&self, other: &Root<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq for Ref<T>

source§

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

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq for Ref<T>

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialOrd for Ref<T>

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialOrd for Ref<T>

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

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

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<T> Trace for Ref<T>
where T: Collectable,

source§

const MAY_CONTAIN_REFERENCES: bool = true

If true, this type may contain references and should have its trace() -function invoked during the collector’s “mark” phase.
source§

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

Traces all refrences that this value references. Read more
source§

impl<T> Copy for Ref<T>

source§

impl<T> Eq for Ref<T>

source§

impl<T> Send for Ref<T>
where - T: Send,

source§

impl<T> Sync for Ref<T>
where +function invoked during the collector’s “mark” phase.

source§

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

Traces all refrences that this value references. Read more
source§

impl<T> Copy for Ref<T>

source§

impl<T> Eq for Ref<T>

source§

impl<T> Send for Ref<T>
where + T: Send,

source§

impl<T> Sync for Ref<T>
where T: Sync,

Auto Trait Implementations§

§

impl<T> Freeze for Ref<T>

§

impl<T> RefUnwindSafe for Ref<T>

§

impl<T> Unpin for Ref<T>

§

impl<T> UnwindSafe for Ref<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 diff --git a/main/refuse/struct.Root.html b/main/refuse/struct.Root.html index 17e8ce0..e561243 100644 --- a/main/refuse/struct.Root.html +++ b/main/refuse/struct.Root.html @@ -1,62 +1,64 @@ -Root in refuse - Rust +Root in refuse - Rust

Struct refuse::Root

source ·
pub struct Root<T>
where T: Collectable,
{ /* private fields */ }
Expand description

A root reference to a T that has been allocated in the garbage collector.

This type behaves very similarly to Arc<T>. It implements Deref<Target = T>, and it is also cheap-to-clone, utilizing atomic reference counting to track the number of root references currently exist to the underlying value.

While any root references exist for a given allocation, the garbage collector will not collect the allocation.

-

Implementations§

source§

impl<T> Root<T>
where +

Implementations§

source§

impl<T> Root<T>
where T: Collectable,

source

pub fn new<'a>(value: T, guard: impl AsRef<CollectionGuard<'a>>) -> Self

Stores value in the garbage collector, returning a root reference to the data.

source

pub fn root_count(&self) -> u64

Returns the current number of root references to this value, including self.

source

pub const fn downgrade(&self) -> Ref<T>

Returns a “weak” reference to this root.

-
source

pub fn downgrade_any(&self) -> AnyRef

Returns an untyped “weak” reference erased to this root.

-
source

pub fn as_any(&self) -> AnyRef

Returns this reference as an untyped reference.

-
source

pub fn ptr_eq(this: &Self, other: &Self) -> bool

Returns true if these two references point to the same underlying +

source

pub const fn downgrade_any(&self) -> AnyRef

Returns an untyped “weak” reference erased to this root.

+
source

pub fn to_any_root(&self) -> AnyRoot

Returns an untyped root reference.

+
source

pub fn into_any_root(self) -> AnyRoot

Returns this root as an untyped root.

+
source

pub fn ptr_eq(this: &Self, other: &Self) -> bool

Returns true if these two references point to the same underlying allocation.

-

Trait Implementations§

source§

impl<T> AsRef<Ref<T>> for Root<T>
where - T: Collectable,

source§

fn as_ref(&self) -> &Ref<T>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<T> Clone for Root<T>
where - T: Collectable,

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<T> Debug for Root<T>
where - T: Collectable + Debug,

source§

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

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

impl<T> Deref for Root<T>
where - T: Collectable,

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<T> Drop for Root<T>
where - T: Collectable,

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<T> From<&Root<T>> for AnyRef
where - T: Collectable,

source§

fn from(value: &Root<T>) -> Self

Converts to this type from the input type.
source§

impl<T> Hash for Root<T>
where - T: Collectable + Hash,

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl<T> AsRef<Ref<T>> for Root<T>
where + T: Collectable,

source§

fn as_ref(&self) -> &Ref<T>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<T> Clone for Root<T>
where + T: Collectable,

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl<T> Debug for Root<T>
where + T: Collectable + Debug,

source§

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

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

impl<T> Deref for Root<T>
where + T: Collectable,

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<T> Drop for Root<T>
where + T: Collectable,

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<T> From<&Root<T>> for AnyRef
where + T: Collectable,

source§

fn from(value: &Root<T>) -> Self

Converts to this type from the input type.
source§

impl<T> From<Root<T>> for AnyRoot
where + T: Collectable,

source§

fn from(value: Root<T>) -> Self

Converts to this type from the input type.
source§

impl<T> Hash for Root<T>
where + T: Collectable + Hash,

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<T> Ord for Root<T>
where - T: Collectable + Ord,

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<T> Ord for Root<T>
where + T: Collectable + Ord,

source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<T> PartialEq<&AnyRef> for Root<T>
where - T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<T> PartialEq<&AnyRef> for Root<T>
where + T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<&Ref<T>> for Root<T>
where - T: Collectable,

source§

fn eq(&self, other: &&Ref<T>) -> bool

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<&Ref<T>> for Root<T>
where + T: Collectable,

source§

fn eq(&self, other: &&Ref<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<&Root<T>> for Ref<T>
where - T: Collectable,

source§

fn eq(&self, other: &&Root<T>) -> bool

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<&Root<T>> for Ref<T>
where + T: Collectable,

source§

fn eq(&self, other: &&Root<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<AnyRef> for Root<T>
where - T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<AnyRef> for Root<T>
where + T: Collectable,

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<Ref<T>> for Root<T>
where - T: Collectable,

source§

fn eq(&self, other: &Ref<T>) -> bool

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<Ref<T>> for Root<T>
where + T: Collectable,

source§

fn eq(&self, other: &Ref<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<Root<T>> for Ref<T>
where - T: Collectable,

source§

fn eq(&self, other: &Root<T>) -> bool

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq<Root<T>> for Ref<T>
where + T: Collectable,

source§

fn eq(&self, other: &Root<T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq for Root<T>
where - T: Collectable + PartialEq,

source§

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

This method tests for self and other values to be equal, and is used +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialEq for Root<T>
where + T: Collectable + PartialEq,

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialOrd for Root<T>
where - T: Collectable + PartialOrd,

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl<T> PartialOrd for Root<T>
where + T: Collectable + PartialOrd,

source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

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

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

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

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

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

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<T> Trace for Root<T>
where T: Collectable,

source§

const MAY_CONTAIN_REFERENCES: bool = false

If true, this type may contain references and should have its trace() -function invoked during the collector’s “mark” phase.
source§

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

Traces all refrences that this value references. Read more
source§

impl<T> Eq for Root<T>
where - T: Collectable + Eq,

source§

impl<T> Send for Root<T>
where - T: Collectable,

source§

impl<T> Sync for Root<T>
where +function invoked during the collector’s “mark” phase.
source§

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

Traces all refrences that this value references. Read more
source§

impl<T> Eq for Root<T>
where + T: Collectable + Eq,

source§

impl<T> Send for Root<T>
where + T: Collectable,

source§

impl<T> Sync for Root<T>
where T: Collectable,

Auto Trait Implementations§

§

impl<T> Freeze for Root<T>

§

impl<T> RefUnwindSafe for Root<T>
where T: RefUnwindSafe,

§

impl<T> Unpin for Root<T>

§

impl<T> UnwindSafe for Root<T>
where T: RefUnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where @@ -64,7 +66,7 @@ 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
§

impl<A> Cast for A

§

fn cast<To>(self) -> To
where To: CastFrom<A>,

Casts self to the To type. This may be a lossy operation.
§

impl<A> CastFrom<A> for A

§

fn from_cast(from: A) -> A

Returns from as Self.
§

impl<A, B> CastInto<A> for B
where - A: CastFrom<B>,

§

fn cast_into(self) -> A

Returns self as To.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

+ A: CastFrom<B>,
§

fn cast_into(self) -> A

Returns self as To.
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 diff --git a/main/refuse/struct.WouldDeadlock.html b/main/refuse/struct.WouldDeadlock.html index 5e0890b..ee2d4ab 100644 --- a/main/refuse/struct.WouldDeadlock.html +++ b/main/refuse/struct.WouldDeadlock.html @@ -1,5 +1,5 @@ WouldDeadlock in refuse - Rust

-

Struct refuse::WouldDeadlock

source ·
pub struct WouldDeadlock;
Expand description

An error indicating an operation would deadlock.

+

Struct refuse::WouldDeadlock

source ·
pub struct WouldDeadlock;
Expand description

An error indicating an operation would deadlock.

CollectionGuard::acquire can be called multiple times from the same thread, but some operations require that all guards for the current thread have been released before performing. This error signals when an operation @@ -16,9 +16,9 @@ drop(guard2); assert_eq!(guard1.try_collect(), Ok(()));

-

Trait Implementations§

source§

impl Clone for WouldDeadlock

source§

fn clone(&self) -> WouldDeadlock

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for WouldDeadlock

source§

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

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

impl Display for WouldDeadlock

source§

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

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

impl PartialEq for WouldDeadlock

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for WouldDeadlock

source§

fn clone(&self) -> WouldDeadlock

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for WouldDeadlock

source§

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

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

impl Display for WouldDeadlock

source§

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

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

impl PartialEq for WouldDeadlock

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl Copy for WouldDeadlock

source§

impl Eq for WouldDeadlock

source§

impl StructuralPartialEq for WouldDeadlock

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Copy for WouldDeadlock

source§

impl Eq for WouldDeadlock

source§

impl StructuralPartialEq for WouldDeadlock

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
§

impl<A> Cast for A

§

fn cast<To>(self) -> To
where diff --git a/main/refuse/trait.Trace.html b/main/refuse/trait.Trace.html index fefbb0c..0971d96 100644 --- a/main/refuse/trait.Trace.html +++ b/main/refuse/trait.Trace.html @@ -28,7 +28,7 @@ T: Trace,

source§

const MAY_CONTAIN_REFERENCES: bool = T::MAY_CONTAIN_REFERENCES

source§

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

source§

impl<T> Trace for VecDeque<T>
where T: Trace,

source§

const MAY_CONTAIN_REFERENCES: bool = T::MAY_CONTAIN_REFERENCES

source§

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

source§

impl<T> Trace for Vec<T>
where T: Trace,

source§

const MAY_CONTAIN_REFERENCES: bool = T::MAY_CONTAIN_REFERENCES

source§

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

source§

impl<T, const N: usize> Trace for [T; N]
where - T: Trace,

source§

const MAY_CONTAIN_REFERENCES: bool = T::MAY_CONTAIN_REFERENCES

source§

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

Implementors§

source§

impl Trace for AnyRef

source§

impl<T> Trace for Ref<T>
where + T: Trace,

source§

const MAY_CONTAIN_REFERENCES: bool = T::MAY_CONTAIN_REFERENCES

source§

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

Implementors§

\ No newline at end of file diff --git a/main/search-index.js b/main/search-index.js index b80060e..ac9589f 100644 --- a/main/search-index.js +++ b/main/search-index.js @@ -1,5 +1,5 @@ var searchIndex = new Map(JSON.parse('[\ -["refuse",{"doc":"Refuse","t":"FKFKFTKYKFFKRKYFFFFNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNMNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["AnyRef","Collectable","CollectionGuard","ContainsNoRefs","LocalPool","MAY_CONTAIN_REFERENCES","MapAs","MapAs","NoMapping","Ref","Root","SimpleType","Target","Trace","Trace","Tracer","WouldDeadlock","YieldComplete","Yielder","acquire","allocating_in","architecture","as_any","as_any","as_mut","as_ref","as_ref","as_ref","as_root","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","collect","collect","compare","compare","compare","coordinated_yield","default","deref","downcast_ref","downcast_root","downgrade","downgrade_any","drop","drop","drop","enter","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","hash","hash","hash","into","into","into","into","into","into","into","into","into","load","load","load_mapped","map_as","mark","new","new","partial_cmp","partial_cmp","partial_cmp","ptr_eq","root_count","to_owned","to_owned","to_owned","to_owned","to_string","trace","trace","trace","trace","try_collect","try_collect","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_while_unlocked","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","wait","while_unlocked","yield_to_collector"],"q":[[0,"refuse"],[196,"core::option"],[197,"intentional::cast"],[198,"core::cmp"],[199,"core::cmp"],[200,"core::cmp"],[201,"core::fmt"],[202,"core::hash"],[203,"core::convert"],[204,"core::convert"],[205,"core::result"],[206,"core::any"]],"d":["A type-erased garbage collected reference.","A type that can be garbage collected.","A guard that prevents garbage collection while held.","A type that can be garbage collected that cannot contain …","A pool of garbage collected values.","If true, this type may contain references and should have …","A mapping from one type to another.","","A type that implements MapAs with an empty implementation.","A reference to data stored in a garbage collector.","A root reference to a T that has been allocated in the …","A type that can contain no Ref<T>s and has an empty MapAs …","The target type of the mapping.","A type that can find and mark any references it has.","","A tracer for the garbage collector.","An error indicating an operation would deadlock.","A marker indicating that a coordinated yield has completed.","A pending yield to the garbage collector.","Acquires a lock that prevents the garbage collector from …","Returns a guard that allocates from pool.","Architecture overview of the underlying design of Refuse.","Returns this reference as an untyped reference.","Returns this reference as an untyped reference.","","","","","Loads a root reference to the underlying data. Returns None…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Invokes the garbage collector.","Manually invokes the garbage collector.","","","","Perform a coordinated yield to the collector, if needed.","","","Returns a Ref<T>.","Returns a Root<T> if the underlying reference points to a T…","Returns a “weak” reference to this root.","Returns an untyped “weak” reference erased to this …","","","","Acquires a collection guard for this pool.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Loads a reference to the underlying data. Returns None if …","Loads a reference to the underlying data. Returns None if …","Returns a reference to the result of MapAs::map_as(), if …","Maps self to target type.","Marks collectable as being referenced, ensuring it is not …","Stores value in the garbage collector, returning a root …","Stores value in the garbage collector, returning a “weak…","","","","Returns true if these two references point to the same …","Returns the current number of root references to this …","","","","","","Traces all refrences that this value references.","","","","Invokes the garbage collector.","Manually invokes the garbage collector.","","","","","","","","","","","","","","","","","","","Executes unlocked while this guard is temporarily released.","","","","","","","","","","Waits for the garbage collector to finish the current …","Executes unlocked while this guard is temporarily released.","Yield to the garbage collector, if needed."],"i":[0,0,0,0,0,33,0,0,0,0,0,0,26,0,0,0,0,0,0,1,1,0,3,6,1,1,3,6,6,2,1,13,15,27,3,6,9,4,2,1,13,15,27,3,6,9,4,2,1,13,15,27,3,6,9,4,2,1,13,15,27,3,6,9,4,3,6,9,4,3,6,9,4,3,6,4,0,1,3,6,4,1,2,3,4,4,3,3,2,1,3,2,3,3,3,3,3,6,6,6,6,6,9,4,3,6,9,9,2,1,13,15,27,3,6,9,4,4,4,4,4,2,1,13,15,27,3,6,9,4,3,6,4,2,1,13,15,27,3,6,9,4,6,4,4,26,27,3,6,3,6,4,3,3,3,6,9,4,9,33,3,6,4,0,1,2,1,13,15,27,3,6,9,4,2,1,13,15,27,3,6,9,4,1,2,1,13,15,27,3,6,9,4,13,1,1],"f":"```````````````````{{}b}{{bd}b}`{{{f{c}}}hj}{{{l{c}}}hj}{bb}0{{{f{c}}}{{l{c}}}j}{{{l{c}}}{{l{c}}}{}}{{{l{c}}b}{{n{{f{c}}}}}j}{ce{}{}}00000000000000000{cg{}{}{{A`{e}}}}00000000111111111{{{f{c}}}{{f{c}}}j}4{AbAb}{hh}{{ce}Ad{}{}}000{{{f{c}}{f{c}}}Af{jAh}}{{{l{c}}{l{c}}}Af{}}{{hh}Af}{{}Ad}{bAd}{{ce}Af{}{}}00{{bc}Ad{{B`{Aj}{{Al{An}}}}}}{{}d}{{{f{c}}}ej{}}{h{{l{c}}}j}{{hb}{{n{{f{c}}}}}j}{{{f{c}}}{{l{c}}}j}{{{f{c}}}hj}{dAd}9{{{f{c}}}Adj}{db}{{{f{c}}{l{c}}}Bbj}{{{f{c}}{f{c}}}Bb{jBd}}{{{f{c}}h}Bbj}20{{{l{c}}h}Bbj}{{{l{c}}{f{c}}}Bbj}{{{l{c}}{l{c}}}Bb{}}12{{AbAb}Bb}{{hh}Bb}{{{f{c}}Bf}Bh{jBj}}{{{l{c}}Bf}Bh{jBj}}{{AbBf}Bh}0{cc{}}0000000{{{l{c}}}hj}1{hh}1{{{f{c}}}hj}333333333{{{f{c}}e}Ad{jBl}Bn}{{{l{c}}e}Ad{}Bn}{{hc}AdBn}{ce{}{}}00000000{{{l{c}}b}{{n{c}}}j}{{hb}{{n{c}}}j}{{hb}{{n{c}}}C`}{{{Cd{}{{Cb{c}}}}}cC`}{{Cfc}Ad{{Ch{h}}}}{{ce}{{f{c}}}j{{Cj{b}}}}{{ce}{{l{c}}}j{{Cj{b}}}}{{{f{c}}{f{c}}}{{n{Af}}}{jCl}}{{{l{c}}{l{c}}}{{n{Af}}}{}}{{hh}{{n{Af}}}}{{{f{c}}{f{c}}}Bbj}{{{f{c}}}Cnj}<<<<{cD`{}}{{DbCf}Ad}{{{f{c}}Cf}Adj}{{{l{c}}Cf}Adj}{{hCf}Ad}{{}{{Dd{AdAb}}}}{b{{Dd{AdAb}}}}{c{{Dd{e}}}{}{}}00000000000000000{{be}{{Dd{cAb}}}{}{{B`{}{{Al{c}}}}}}{cDf{}}00000000{AjAn}{{be}c{}{{B`{}{{Al{c}}}}}}{bAd}","c":[],"p":[[5,"CollectionGuard",0],[5,"LocalPool",0],[5,"Root",0],[5,"AnyRef",0],[10,"Collectable",0],[5,"Ref",0],[6,"Option",196],[10,"CastFrom",197],[5,"WouldDeadlock",0],[1,"unit"],[6,"Ordering",198],[10,"Ord",198],[5,"Yielder",0],[17,"Output"],[5,"YieldComplete",0],[10,"FnOnce",199],[1,"bool"],[10,"PartialEq",198],[5,"Formatter",200],[8,"Result",200],[10,"Debug",200],[10,"Hash",201],[10,"Hasher",201],[10,"Sized",202],[17,"Target"],[10,"MapAs",0],[5,"Tracer",0],[10,"Into",203],[10,"AsRef",203],[10,"PartialOrd",198],[1,"u64"],[5,"String",204],[10,"Trace",0],[6,"Result",205],[5,"TypeId",206]],"b":[[92,"impl-PartialEq%3C%26Ref%3CT%3E%3E-for-Root%3CT%3E"],[93,"impl-PartialEq-for-Root%3CT%3E"],[94,"impl-PartialEq%3CAnyRef%3E-for-Root%3CT%3E"],[95,"impl-PartialEq%3CRef%3CT%3E%3E-for-Root%3CT%3E"],[96,"impl-PartialEq%3C%26AnyRef%3E-for-Root%3CT%3E"],[97,"impl-PartialEq%3CAnyRef%3E-for-Ref%3CT%3E"],[98,"impl-PartialEq%3CRoot%3CT%3E%3E-for-Ref%3CT%3E"],[99,"impl-PartialEq-for-Ref%3CT%3E"],[100,"impl-PartialEq%3C%26Root%3CT%3E%3E-for-Ref%3CT%3E"],[101,"impl-PartialEq%3C%26AnyRef%3E-for-Ref%3CT%3E"],[106,"impl-Debug-for-WouldDeadlock"],[107,"impl-Display-for-WouldDeadlock"],[116,"impl-From%3C%26Ref%3CT%3E%3E-for-AnyRef"],[118,"impl-From%3C%26AnyRef%3E-for-AnyRef"],[119,"impl-From%3CRef%3CT%3E%3E-for-AnyRef"],[120,"impl-From%3C%26Root%3CT%3E%3E-for-AnyRef"]]}]\ +["refuse",{"doc":"Refuse","t":"FFKFKFTKYKFFKRKYFFFFNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["AnyRef","AnyRoot","Collectable","CollectionGuard","ContainsNoRefs","LocalPool","MAY_CONTAIN_REFERENCES","MapAs","MapAs","NoMapping","Ref","Root","SimpleType","Target","Trace","Trace","Tracer","WouldDeadlock","YieldComplete","Yielder","acquire","allocating_in","architecture","as_any","as_any","as_mut","as_ref","as_ref","as_ref","as_root","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","cast_into","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","collect","collect","compare","compare","compare","compare","coordinated_yield","default","deref","downcast_ref","downcast_root","downgrade","downgrade_any","drop","drop","drop","drop","enter","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","from_cast","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into_any_root","load","load","load","load_mapped","map_as","mark","new","new","partial_cmp","partial_cmp","partial_cmp","partial_cmp","ptr_eq","root_count","to_any_root","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","trace","trace","trace","trace","try_collect","try_collect","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_while_unlocked","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","wait","while_unlocked","yield_to_collector"],"q":[[0,"refuse"],[220,"core::option"],[221,"intentional::cast"],[222,"core::cmp"],[223,"core::cmp"],[224,"core::cmp"],[225,"core::fmt"],[226,"core::hash"],[227,"core::convert"],[228,"core::convert"],[229,"core::result"],[230,"core::any"]],"d":["A type-erased garbage collected reference.","A type-erased root garbage collected reference.","A type that can be garbage collected.","A guard that prevents garbage collection while held.","A type that can be garbage collected that cannot contain …","A pool of garbage collected values.","If true, this type may contain references and should have …","A mapping from one type to another.","","A type that implements MapAs with an empty implementation.","A reference to data stored in a garbage collector.","A root reference to a T that has been allocated in the …","A type that can contain no Ref<T>s and has an empty MapAs …","The target type of the mapping.","A type that can find and mark any references it has.","","A tracer for the garbage collector.","An error indicating an operation would deadlock.","A marker indicating that a coordinated yield has completed.","A pending yield to the garbage collector.","Acquires a lock that prevents the garbage collector from …","Returns a guard that allocates from pool.","Architecture overview of the underlying design of Refuse.","Returns this reference as an untyped reference.","Returns an untyped “weak” reference to this root.","","","","","Loads a root reference to the underlying data. Returns None…","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Invokes the garbage collector.","Manually invokes the garbage collector.","","","","","Perform a coordinated yield to the collector, if needed.","","","Returns a Ref<T>.","Returns a Root<T> if the underlying reference points to a T…","Returns a “weak” reference to this root.","Returns an untyped “weak” reference erased to this …","","","","","Acquires a collection guard for this pool.","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns this root as an untyped root.","Loads a reference to the underlying data. Returns None if …","Loads a reference to the underlying data. Returns None if T…","Loads a reference to the underlying data. Returns None if …","Returns a reference to the result of MapAs::map_as(), if …","Maps self to target type.","Marks collectable as being referenced, ensuring it is not …","Stores value in the garbage collector, returning a root …","Stores value in the garbage collector, returning a “weak…","","","","","Returns true if these two references point to the same …","Returns the current number of root references to this …","Returns an untyped root reference.","","","","","","","Traces all refrences that this value references.","","","","Invokes the garbage collector.","Manually invokes the garbage collector.","","","","","","","","","","","","","","","","","","","","","Executes unlocked while this guard is temporarily released.","","","","","","","","","","","Waits for the garbage collector to finish the current …","Executes unlocked while this guard is temporarily released.","Yield to the garbage collector, if needed."],"i":[0,0,0,0,0,0,34,0,0,0,0,0,0,27,0,0,0,0,0,0,1,1,0,3,6,1,1,7,3,3,2,1,14,16,28,7,3,10,6,4,2,1,14,16,28,7,3,10,6,4,2,1,14,16,28,7,3,10,6,4,2,1,14,16,28,7,3,10,6,4,7,3,10,6,4,7,3,10,6,4,7,3,6,4,0,1,7,3,6,4,1,2,7,4,4,7,7,2,1,7,6,2,7,7,7,7,7,3,3,3,3,3,10,6,4,7,3,10,10,2,1,14,16,28,7,3,10,6,6,4,4,4,4,4,2,1,14,16,28,7,3,10,6,4,7,3,6,4,2,1,14,16,28,7,3,10,6,4,7,3,6,4,4,27,28,7,3,7,3,6,4,7,7,7,7,3,10,6,4,10,34,7,3,4,0,1,2,1,14,16,28,7,3,10,6,4,2,1,14,16,28,7,3,10,6,4,1,2,1,14,16,28,7,3,10,6,4,14,1,1],"f":"````````````````````{{}b}{{bd}b}`{{{f{c}}}hj}{lh}{bb}0{{{n{c}}}{{f{c}}}j}{{{f{c}}}{{f{c}}}{}}{{{f{c}}b}{{A`{{n{c}}}}}j}{ce{}{}}0000000000000000000{cg{}{}{{Ab{e}}}}0000000001111111111{{{n{c}}}{{n{c}}}j}4{AdAd}{ll}{hh}{{ce}Af{}{}}0000{{{n{c}}{n{c}}}Ah{jAj}}{{{f{c}}{f{c}}}Ah{}}{{ll}Ah}{{hh}Ah}{{}Af}{bAf}{{ce}Ah{}{}}000{{bc}Af{{Bb{Al}{{An{B`}}}}}}{{}d}{{{n{c}}}ej{}}{h{{f{c}}}j}{{hb}{{A`{{n{c}}}}}j}{{{n{c}}}{{f{c}}}j}{{{n{c}}}hj}{dAf}9{{{n{c}}}Afj}{lAf}{db}{{{n{c}}{f{c}}}Bdj}{{{n{c}}h}Bdj}0{{{n{c}}{n{c}}}Bd{jBf}}2{{{f{c}}{n{c}}}Bdj}0{{{f{c}}h}Bdj}{{{f{c}}{f{c}}}Bd{}}1{{AdAd}Bd}{{ll}Bd}{{hh}Bd}{{{n{c}}Bh}Bj{jBl}}{{{f{c}}Bh}Bj{jBl}}{{AdBh}Bj}0{cc{}}0000000{{{n{c}}}lj}1{{{f{c}}}hj}0{{{n{c}}}hj}3{hh}4444444444{{{n{c}}e}Af{jBn}C`}{{{f{c}}e}Af{}C`}{{lc}AfC`}{{hc}AfC`}{ce{}{}}0000000008{{{f{c}}b}{{A`{c}}}j}{l{{A`{c}}}j}{{hb}{{A`{c}}}j}{{hb}{{A`{c}}}Cb}{{{Cf{}{{Cd{c}}}}}cCb}{{Chc}Af{{Cj{h}}}}{{ce}{{n{c}}}j{{Cl{b}}}}{{ce}{{f{c}}}j{{Cl{b}}}}{{{n{c}}{n{c}}}{{A`{Ah}}}{jCn}}{{{f{c}}{f{c}}}{{A`{Ah}}}{}}{{ll}{{A`{Ah}}}}{{hh}{{A`{Ah}}}}{{{n{c}}{n{c}}}Bdj}{{{n{c}}}D`j}{{{n{c}}}lj}?????{cDb{}}{{DdCh}Af}{{{n{c}}Ch}Afj}{{{f{c}}Ch}Afj}{{hCh}Af}{{}{{Df{AfAd}}}}{b{{Df{AfAd}}}}{c{{Df{e}}}{}{}}0000000000000000000{{be}{{Df{cAd}}}{}{{Bb{}{{An{c}}}}}}{cDh{}}000000000{AlB`}{{be}c{}{{Bb{}{{An{c}}}}}}{bAf}","c":[],"p":[[5,"CollectionGuard",0],[5,"LocalPool",0],[5,"Ref",0],[5,"AnyRef",0],[10,"Collectable",0],[5,"AnyRoot",0],[5,"Root",0],[6,"Option",220],[10,"CastFrom",221],[5,"WouldDeadlock",0],[1,"unit"],[6,"Ordering",222],[10,"Ord",222],[5,"Yielder",0],[17,"Output"],[5,"YieldComplete",0],[10,"FnOnce",223],[1,"bool"],[10,"PartialEq",222],[5,"Formatter",224],[8,"Result",224],[10,"Debug",224],[10,"Hash",225],[10,"Hasher",225],[10,"Sized",226],[17,"Target"],[10,"MapAs",0],[5,"Tracer",0],[10,"Into",227],[10,"AsRef",227],[10,"PartialOrd",222],[1,"u64"],[5,"String",228],[10,"Trace",0],[6,"Result",229],[5,"TypeId",230]],"b":[[102,"impl-PartialEq%3C%26Ref%3CT%3E%3E-for-Root%3CT%3E"],[103,"impl-PartialEq%3CAnyRef%3E-for-Root%3CT%3E"],[104,"impl-PartialEq%3C%26AnyRef%3E-for-Root%3CT%3E"],[105,"impl-PartialEq-for-Root%3CT%3E"],[106,"impl-PartialEq%3CRef%3CT%3E%3E-for-Root%3CT%3E"],[107,"impl-PartialEq%3CRoot%3CT%3E%3E-for-Ref%3CT%3E"],[108,"impl-PartialEq%3C%26Root%3CT%3E%3E-for-Ref%3CT%3E"],[109,"impl-PartialEq%3C%26AnyRef%3E-for-Ref%3CT%3E"],[110,"impl-PartialEq-for-Ref%3CT%3E"],[111,"impl-PartialEq%3CAnyRef%3E-for-Ref%3CT%3E"],[117,"impl-Display-for-WouldDeadlock"],[118,"impl-Debug-for-WouldDeadlock"],[129,"impl-From%3CRef%3CT%3E%3E-for-AnyRef"],[130,"impl-From%3C%26Ref%3CT%3E%3E-for-AnyRef"],[131,"impl-From%3C%26Root%3CT%3E%3E-for-AnyRef"],[133,"impl-From%3C%26AnyRef%3E-for-AnyRef"]]}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); diff --git a/main/src/refuse/lib.rs.html b/main/src/refuse/lib.rs.html index f87628f..d28412f 100644 --- a/main/src/refuse/lib.rs.html +++ b/main/src/refuse/lib.rs.html @@ -2804,6 +2804,97 @@

Files

2802 2803 2804 +2805 +2806 +2807 +2808 +2809 +2810 +2811 +2812 +2813 +2814 +2815 +2816 +2817 +2818 +2819 +2820 +2821 +2822 +2823 +2824 +2825 +2826 +2827 +2828 +2829 +2830 +2831 +2832 +2833 +2834 +2835 +2836 +2837 +2838 +2839 +2840 +2841 +2842 +2843 +2844 +2845 +2846 +2847 +2848 +2849 +2850 +2851 +2852 +2853 +2854 +2855 +2856 +2857 +2858 +2859 +2860 +2861 +2862 +2863 +2864 +2865 +2866 +2867 +2868 +2869 +2870 +2871 +2872 +2873 +2874 +2875 +2876 +2877 +2878 +2879 +2880 +2881 +2882 +2883 +2884 +2885 +2886 +2887 +2888 +2889 +2890 +2891 +2892 +2893 +2894 +2895
#![doc = include_str!("../README.md")]
 
 use core::slice;
@@ -4356,14 +4447,33 @@ 

Files

/// Returns an untyped "weak" reference erased to this root. #[must_use] - pub fn downgrade_any(&self) -> AnyRef { + pub const fn downgrade_any(&self) -> AnyRef { self.reference.as_any() } - /// Returns this reference as an untyped reference. + /// Returns an untyped root reference. #[must_use] - pub fn as_any(&self) -> AnyRef { - self.reference.as_any() + pub fn to_any_root(&self) -> AnyRoot { + let roots = &self.as_rooted().roots; + roots.fetch_add(1, Ordering::Acquire); + + AnyRoot { + rooted: self.data.cast(), + roots, + any: self.reference.as_any(), + } + } + + /// Returns this root as an untyped root. + pub fn into_any_root(self) -> AnyRoot { + // We transfer ownership of this reference to the AnyRoot, so we want to + // avoid calling drop on `self`. + let this = ManuallyDrop::new(self); + AnyRoot { + rooted: this.data.cast(), + roots: &this.as_rooted().roots, + any: this.reference.as_any(), + } } fn as_rooted(&self) -> &Rooted<T> { @@ -4598,7 +4708,7 @@

Files

/// Returns this reference as an untyped reference. #[must_use] - pub fn as_any(self) -> AnyRef { + pub const fn as_any(self) -> AnyRef { self.any } @@ -5471,6 +5581,78 @@

Files

} } +/// A type-erased root garbage collected reference. +#[derive(Eq, PartialEq, PartialOrd, Ord)] +pub struct AnyRoot { + rooted: *const (), + roots: *const AtomicU64, + any: AnyRef, +} + +impl AnyRoot { + /// Loads a reference to the underlying data. Returns `None` if `T` is not + /// the type of the underlying data. + pub fn load<T>(&self) -> Option<&T> + where + T: Collectable, + { + if TypeIndex::of::<T>() == self.any.type_index { + let rooted = unsafe { &*self.rooted.cast::<Rooted<T>>() }; + Some(&rooted.value) + } else { + None + } + } + + /// Returns an untyped "weak" reference to this root. + pub const fn as_any(&self) -> AnyRef { + self.any + } +} + +impl Clone for AnyRoot { + fn clone(&self) -> Self { + unsafe { &*self.roots }.fetch_add(1, Ordering::Acquire); + Self { + rooted: self.rooted, + roots: self.roots, + any: self.any, + } + } +} + +impl Drop for AnyRoot { + fn drop(&mut self) { + if unsafe { &*self.roots }.fetch_sub(1, Ordering::Acquire) == 1 { + CollectorCommand::schedule_collect_if_needed(); + } + } +} + +impl Hash for AnyRoot { + fn hash<H: std::hash::Hasher>(&self, state: &mut H) { + self.any.hash(state); + } +} + +impl<T> From<Root<T>> for AnyRoot +where + T: Collectable, +{ + fn from(value: Root<T>) -> Self { + value.into_any_root() + } +} + +// SAFETY: AnyRoot's usage of a pointer prevents auto implementation. +// `Collectable` requires `Send`, and `Root<T>` ensures proper Send + Sync +// behavior in its memory accesses. +unsafe impl Send for AnyRoot {} +// SAFETY: AnyRoot's usage of a pointer prevents auto implementation. +// `Collectable` requires `Send`, and `Root<T>` ensures proper Send + Sync +// behavior in its memory accesses. +unsafe impl Sync for AnyRoot {} + /// A type-erased garbage collected reference. #[derive(Clone, Copy, Eq, PartialEq, PartialOrd, Ord)] pub struct AnyRef { @@ -5593,7 +5775,7 @@

Files

T: Collectable, { fn from(value: &'_ Root<T>) -> Self { - value.as_any() + value.downgrade_any() } } diff --git a/main/trait.impl/core/clone/trait.Clone.js b/main/trait.impl/core/clone/trait.Clone.js index 61bc005..c210673 100644 --- a/main/trait.impl/core/clone/trait.Clone.js +++ b/main/trait.impl/core/clone/trait.Clone.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl Clone for AnyRef"],["impl Clone for WouldDeadlock"],["impl<T> Clone for Ref<T>"],["impl<T> Clone for Root<T>
where\n T: Collectable,
"]] +"refuse":[["impl Clone for AnyRef"],["impl Clone for AnyRoot"],["impl Clone for WouldDeadlock"],["impl<T> Clone for Ref<T>"],["impl<T> Clone for Root<T>
where\n T: Collectable,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/cmp/trait.Eq.js b/main/trait.impl/core/cmp/trait.Eq.js index 05d8937..3a49cd5 100644 --- a/main/trait.impl/core/cmp/trait.Eq.js +++ b/main/trait.impl/core/cmp/trait.Eq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl Eq for AnyRef"],["impl Eq for WouldDeadlock"],["impl<T> Eq for Ref<T>"],["impl<T> Eq for Root<T>
where\n T: Collectable + Eq,
"]] +"refuse":[["impl Eq for AnyRef"],["impl Eq for AnyRoot"],["impl Eq for WouldDeadlock"],["impl<T> Eq for Ref<T>"],["impl<T> Eq for Root<T>
where\n T: Collectable + Eq,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/cmp/trait.Ord.js b/main/trait.impl/core/cmp/trait.Ord.js index 2fe46f2..b2445cf 100644 --- a/main/trait.impl/core/cmp/trait.Ord.js +++ b/main/trait.impl/core/cmp/trait.Ord.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl Ord for AnyRef"],["impl<T> Ord for Ref<T>"],["impl<T> Ord for Root<T>
where\n T: Collectable + Ord,
"]] +"refuse":[["impl Ord for AnyRef"],["impl Ord for AnyRoot"],["impl<T> Ord for Ref<T>"],["impl<T> Ord for Root<T>
where\n T: Collectable + Ord,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/cmp/trait.PartialEq.js b/main/trait.impl/core/cmp/trait.PartialEq.js index 96ff327..ed4f8d9 100644 --- a/main/trait.impl/core/cmp/trait.PartialEq.js +++ b/main/trait.impl/core/cmp/trait.PartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl PartialEq for AnyRef"],["impl PartialEq for WouldDeadlock"],["impl<T> PartialEq for Ref<T>"],["impl<T> PartialEq for Root<T>
where\n T: Collectable + PartialEq,
"],["impl<T> PartialEq<&AnyRef> for Ref<T>
where\n T: Collectable,
"],["impl<T> PartialEq<&AnyRef> for Root<T>
where\n T: Collectable,
"],["impl<T> PartialEq<&Ref<T>> for Root<T>
where\n T: Collectable,
"],["impl<T> PartialEq<&Root<T>> for Ref<T>
where\n T: Collectable,
"],["impl<T> PartialEq<AnyRef> for Ref<T>
where\n T: Collectable,
"],["impl<T> PartialEq<AnyRef> for Root<T>
where\n T: Collectable,
"],["impl<T> PartialEq<Ref<T>> for Root<T>
where\n T: Collectable,
"],["impl<T> PartialEq<Root<T>> for Ref<T>
where\n T: Collectable,
"]] +"refuse":[["impl PartialEq for AnyRef"],["impl PartialEq for AnyRoot"],["impl PartialEq for WouldDeadlock"],["impl<T> PartialEq for Ref<T>"],["impl<T> PartialEq for Root<T>
where\n T: Collectable + PartialEq,
"],["impl<T> PartialEq<&AnyRef> for Ref<T>
where\n T: Collectable,
"],["impl<T> PartialEq<&AnyRef> for Root<T>
where\n T: Collectable,
"],["impl<T> PartialEq<&Ref<T>> for Root<T>
where\n T: Collectable,
"],["impl<T> PartialEq<&Root<T>> for Ref<T>
where\n T: Collectable,
"],["impl<T> PartialEq<AnyRef> for Ref<T>
where\n T: Collectable,
"],["impl<T> PartialEq<AnyRef> for Root<T>
where\n T: Collectable,
"],["impl<T> PartialEq<Ref<T>> for Root<T>
where\n T: Collectable,
"],["impl<T> PartialEq<Root<T>> for Ref<T>
where\n T: Collectable,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/cmp/trait.PartialOrd.js b/main/trait.impl/core/cmp/trait.PartialOrd.js index f82c754..7587192 100644 --- a/main/trait.impl/core/cmp/trait.PartialOrd.js +++ b/main/trait.impl/core/cmp/trait.PartialOrd.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl PartialOrd for AnyRef"],["impl<T> PartialOrd for Ref<T>"],["impl<T> PartialOrd for Root<T>
where\n T: Collectable + PartialOrd,
"]] +"refuse":[["impl PartialOrd for AnyRef"],["impl PartialOrd for AnyRoot"],["impl<T> PartialOrd for Ref<T>"],["impl<T> PartialOrd for Root<T>
where\n T: Collectable + PartialOrd,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/convert/trait.From.js b/main/trait.impl/core/convert/trait.From.js index 8dcf837..2cd274a 100644 --- a/main/trait.impl/core/convert/trait.From.js +++ b/main/trait.impl/core/convert/trait.From.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl From<&AnyRef> for AnyRef"],["impl<T> From<&Ref<T>> for AnyRef
where\n T: Collectable,
"],["impl<T> From<&Root<T>> for AnyRef
where\n T: Collectable,
"],["impl<T> From<Ref<T>> for AnyRef
where\n T: Collectable,
"]] +"refuse":[["impl From<&AnyRef> for AnyRef"],["impl<T> From<&Ref<T>> for AnyRef
where\n T: Collectable,
"],["impl<T> From<&Root<T>> for AnyRef
where\n T: Collectable,
"],["impl<T> From<Ref<T>> for AnyRef
where\n T: Collectable,
"],["impl<T> From<Root<T>> for AnyRoot
where\n T: Collectable,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/hash/trait.Hash.js b/main/trait.impl/core/hash/trait.Hash.js index dcb3b88..6ef0b7a 100644 --- a/main/trait.impl/core/hash/trait.Hash.js +++ b/main/trait.impl/core/hash/trait.Hash.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl Hash for AnyRef"],["impl<T> Hash for Ref<T>"],["impl<T> Hash for Root<T>
where\n T: Collectable + Hash,
"]] +"refuse":[["impl Hash for AnyRef"],["impl Hash for AnyRoot"],["impl<T> Hash for Ref<T>"],["impl<T> Hash for Root<T>
where\n T: Collectable + Hash,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/marker/trait.Freeze.js b/main/trait.impl/core/marker/trait.Freeze.js index ca3d683..9a167c4 100644 --- a/main/trait.impl/core/marker/trait.Freeze.js +++ b/main/trait.impl/core/marker/trait.Freeze.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl Freeze for AnyRef",1,["refuse::AnyRef"]],["impl Freeze for LocalPool",1,["refuse::LocalPool"]],["impl Freeze for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl Freeze for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> Freeze for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> Freeze for Tracer<'a>",1,["refuse::Tracer"]],["impl<'a> Freeze for Yielder<'a>",1,["refuse::Yielder"]],["impl<T> Freeze for Ref<T>",1,["refuse::Ref"]],["impl<T> Freeze for Root<T>",1,["refuse::Root"]]] +"refuse":[["impl Freeze for AnyRef",1,["refuse::AnyRef"]],["impl Freeze for AnyRoot",1,["refuse::AnyRoot"]],["impl Freeze for LocalPool",1,["refuse::LocalPool"]],["impl Freeze for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl Freeze for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> Freeze for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> Freeze for Tracer<'a>",1,["refuse::Tracer"]],["impl<'a> Freeze for Yielder<'a>",1,["refuse::Yielder"]],["impl<T> Freeze for Ref<T>",1,["refuse::Ref"]],["impl<T> Freeze for Root<T>",1,["refuse::Root"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/marker/trait.Send.js b/main/trait.impl/core/marker/trait.Send.js index dd0a681..78ab3fd 100644 --- a/main/trait.impl/core/marker/trait.Send.js +++ b/main/trait.impl/core/marker/trait.Send.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl Send for AnyRef",1,["refuse::AnyRef"]],["impl Send for LocalPool",1,["refuse::LocalPool"]],["impl Send for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl Send for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> !Send for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> Send for Tracer<'a>",1,["refuse::Tracer"]],["impl<'a> Send for Yielder<'a>",1,["refuse::Yielder"]],["impl<T> Send for Ref<T>
where\n T: Send,
"],["impl<T> Send for Root<T>
where\n T: Collectable,
"]] +"refuse":[["impl Send for AnyRef",1,["refuse::AnyRef"]],["impl Send for AnyRoot"],["impl Send for LocalPool",1,["refuse::LocalPool"]],["impl Send for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl Send for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> !Send for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> Send for Tracer<'a>",1,["refuse::Tracer"]],["impl<'a> Send for Yielder<'a>",1,["refuse::Yielder"]],["impl<T> Send for Ref<T>
where\n T: Send,
"],["impl<T> Send for Root<T>
where\n T: Collectable,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/marker/trait.StructuralPartialEq.js b/main/trait.impl/core/marker/trait.StructuralPartialEq.js index 0f46ec3..8103055 100644 --- a/main/trait.impl/core/marker/trait.StructuralPartialEq.js +++ b/main/trait.impl/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl StructuralPartialEq for AnyRef"],["impl StructuralPartialEq for WouldDeadlock"]] +"refuse":[["impl StructuralPartialEq for AnyRef"],["impl StructuralPartialEq for AnyRoot"],["impl StructuralPartialEq for WouldDeadlock"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/marker/trait.Sync.js b/main/trait.impl/core/marker/trait.Sync.js index c8814c9..a66b455 100644 --- a/main/trait.impl/core/marker/trait.Sync.js +++ b/main/trait.impl/core/marker/trait.Sync.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl Sync for AnyRef",1,["refuse::AnyRef"]],["impl Sync for LocalPool",1,["refuse::LocalPool"]],["impl Sync for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl Sync for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> !Sync for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> Sync for Tracer<'a>",1,["refuse::Tracer"]],["impl<'a> Sync for Yielder<'a>",1,["refuse::Yielder"]],["impl<T> Sync for Ref<T>
where\n T: Sync,
"],["impl<T> Sync for Root<T>
where\n T: Collectable,
"]] +"refuse":[["impl Sync for AnyRef",1,["refuse::AnyRef"]],["impl Sync for AnyRoot"],["impl Sync for LocalPool",1,["refuse::LocalPool"]],["impl Sync for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl Sync for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> !Sync for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> Sync for Tracer<'a>",1,["refuse::Tracer"]],["impl<'a> Sync for Yielder<'a>",1,["refuse::Yielder"]],["impl<T> Sync for Ref<T>
where\n T: Sync,
"],["impl<T> Sync for Root<T>
where\n T: Collectable,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/marker/trait.Unpin.js b/main/trait.impl/core/marker/trait.Unpin.js index 90ab6d4..f0454bb 100644 --- a/main/trait.impl/core/marker/trait.Unpin.js +++ b/main/trait.impl/core/marker/trait.Unpin.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl Unpin for AnyRef",1,["refuse::AnyRef"]],["impl Unpin for LocalPool",1,["refuse::LocalPool"]],["impl Unpin for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl Unpin for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> Unpin for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> Unpin for Tracer<'a>",1,["refuse::Tracer"]],["impl<'a> Unpin for Yielder<'a>",1,["refuse::Yielder"]],["impl<T> Unpin for Ref<T>",1,["refuse::Ref"]],["impl<T> Unpin for Root<T>",1,["refuse::Root"]]] +"refuse":[["impl Unpin for AnyRef",1,["refuse::AnyRef"]],["impl Unpin for AnyRoot",1,["refuse::AnyRoot"]],["impl Unpin for LocalPool",1,["refuse::LocalPool"]],["impl Unpin for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl Unpin for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> Unpin for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> Unpin for Tracer<'a>",1,["refuse::Tracer"]],["impl<'a> Unpin for Yielder<'a>",1,["refuse::Yielder"]],["impl<T> Unpin for Ref<T>",1,["refuse::Ref"]],["impl<T> Unpin for Root<T>",1,["refuse::Root"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/ops/drop/trait.Drop.js b/main/trait.impl/core/ops/drop/trait.Drop.js index bb5843c..6b58ee6 100644 --- a/main/trait.impl/core/ops/drop/trait.Drop.js +++ b/main/trait.impl/core/ops/drop/trait.Drop.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl Drop for CollectionGuard<'_>"],["impl Drop for LocalPool"],["impl<T> Drop for Root<T>
where\n T: Collectable,
"]] +"refuse":[["impl Drop for AnyRoot"],["impl Drop for CollectionGuard<'_>"],["impl Drop for LocalPool"],["impl<T> Drop for Root<T>
where\n T: Collectable,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/main/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 6ab2ded..1cff649 100644 --- a/main/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/main/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl !RefUnwindSafe for LocalPool",1,["refuse::LocalPool"]],["impl RefUnwindSafe for AnyRef",1,["refuse::AnyRef"]],["impl RefUnwindSafe for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl RefUnwindSafe for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> !RefUnwindSafe for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> !RefUnwindSafe for Yielder<'a>",1,["refuse::Yielder"]],["impl<'a> RefUnwindSafe for Tracer<'a>",1,["refuse::Tracer"]],["impl<T> RefUnwindSafe for Ref<T>",1,["refuse::Ref"]],["impl<T> RefUnwindSafe for Root<T>
where\n T: RefUnwindSafe,
",1,["refuse::Root"]]] +"refuse":[["impl !RefUnwindSafe for LocalPool",1,["refuse::LocalPool"]],["impl RefUnwindSafe for AnyRef",1,["refuse::AnyRef"]],["impl RefUnwindSafe for AnyRoot",1,["refuse::AnyRoot"]],["impl RefUnwindSafe for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl RefUnwindSafe for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> !RefUnwindSafe for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> !RefUnwindSafe for Yielder<'a>",1,["refuse::Yielder"]],["impl<'a> RefUnwindSafe for Tracer<'a>",1,["refuse::Tracer"]],["impl<T> RefUnwindSafe for Ref<T>",1,["refuse::Ref"]],["impl<T> RefUnwindSafe for Root<T>
where\n T: RefUnwindSafe,
",1,["refuse::Root"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/main/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/main/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index 0b3cda1..fb9bc76 100644 --- a/main/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/main/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"refuse":[["impl !UnwindSafe for LocalPool",1,["refuse::LocalPool"]],["impl UnwindSafe for AnyRef",1,["refuse::AnyRef"]],["impl UnwindSafe for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl UnwindSafe for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> !UnwindSafe for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> !UnwindSafe for Yielder<'a>",1,["refuse::Yielder"]],["impl<'a> UnwindSafe for Tracer<'a>",1,["refuse::Tracer"]],["impl<T> UnwindSafe for Ref<T>",1,["refuse::Ref"]],["impl<T> UnwindSafe for Root<T>
where\n T: RefUnwindSafe,
",1,["refuse::Root"]]] +"refuse":[["impl !UnwindSafe for LocalPool",1,["refuse::LocalPool"]],["impl UnwindSafe for AnyRef",1,["refuse::AnyRef"]],["impl UnwindSafe for AnyRoot",1,["refuse::AnyRoot"]],["impl UnwindSafe for WouldDeadlock",1,["refuse::WouldDeadlock"]],["impl UnwindSafe for YieldComplete",1,["refuse::YieldComplete"]],["impl<'a> !UnwindSafe for CollectionGuard<'a>",1,["refuse::CollectionGuard"]],["impl<'a> !UnwindSafe for Yielder<'a>",1,["refuse::Yielder"]],["impl<'a> UnwindSafe for Tracer<'a>",1,["refuse::Tracer"]],["impl<T> UnwindSafe for Ref<T>",1,["refuse::Ref"]],["impl<T> UnwindSafe for Root<T>
where\n T: RefUnwindSafe,
",1,["refuse::Root"]]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file