Trait rkyv::de::SharedPointer

source ·
pub unsafe trait SharedPointer<T: ?Sized> {
    // Required methods
    unsafe fn from_value(ptr: *mut T) -> *mut T;
    unsafe fn drop(ptr: *mut T);
}
Expand description

A deserializable shared pointer type.

§Safety

TODO

Required Methods§

source

unsafe fn from_value(ptr: *mut T) -> *mut T

Creates a new Self from a pointer to a valid T.

§Safety

The returned pointer must be to the same value. The value may have been moved.

source

unsafe fn drop(ptr: *mut T)

Drops a pointer created by from_value.

§Safety
  • ptr must have been created using from_value.
  • drop must only be called once per ptr.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<T: ?Sized> SharedPointer<T> for Rc<T>

source§

unsafe fn from_value(ptr: *mut T) -> *mut T

source§

unsafe fn drop(ptr: *mut T)

source§

impl<T: ?Sized> SharedPointer<T> for Arc<T>

source§

unsafe fn from_value(ptr: *mut T) -> *mut T

source§

unsafe fn drop(ptr: *mut T)

Implementors§