Trait haphazard::raw::Reclaim

source ·
pub trait Reclaim { }
Expand description

Trait for types that can be dropped (which is all of them).

This trait exists solely as a workaround for the fact that only types with an explicit Drop implementation implement Drop, even though all types can be dropped. We want to store the equivalent of Box<dyn Drop> when objects are retired, but can’t do that since not every type is Drop. This trait is effectively the same as Drop (every trait implies Drop), and has a blanket implementation for any type, so can be used instead of dyn Drop.

See also https://github.com/rust-lang/rust/issues/86653 and https://github.com/rust-lang/rust/pull/86747.

Implementors§

source§

impl<T> Reclaim for T