pub unsafe trait Destructure: Sized {
    type Underlying: ?Sized;
    type Destructuring: Destructuring;
    // Required method
    fn underlying(&mut self) -> *mut Self::Underlying;
}Expand description
A type that can be destructured into its constituent parts.
See the crate docs for an example of implementing
Destructure and Restructure.
§Safety
Destructuringmust reflect the type of destructuring allowed for the type:underlyingmust return a pointer that is non-null, properly aligned, and valid for reads.
Required Associated Types§
Sourcetype Underlying: ?Sized
 
type Underlying: ?Sized
The underlying type that is destructured.
Sourcetype Destructuring: Destructuring
 
type Destructuring: Destructuring
The type of destructuring to perform.
Required Methods§
Sourcefn underlying(&mut self) -> *mut Self::Underlying
 
fn underlying(&mut self) -> *mut Self::Underlying
Returns a mutable pointer to the underlying type.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.