pub unsafe trait Restructure<T: ?Sized>: Destructure {
    type Restructured;
    // Required method
    unsafe fn restructure(&self, ptr: *mut T) -> Self::Restructured;
}Expand description
A type that can be “restructured” as a field of some containing type.
See the crate docs for an example of implementing
Destructure and Restructure.
§Safety
restructure must return a valid
Restructured that upholds the invariants for
its Destructuring:
Required Associated Types§
Sourcetype Restructured
 
type Restructured
The restructured version of this type.
Required Methods§
Sourceunsafe fn restructure(&self, ptr: *mut T) -> Self::Restructured
 
unsafe fn restructure(&self, ptr: *mut T) -> Self::Restructured
Restructures a pointer to this type into the target type.
§Safety
ptr must be a properly aligned pointer to a subfield of the pointer
underlying self.
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.