Attribute Macro macros::pinned_drop
source · #[pinned_drop]
Expand description
Used to implement PinnedDrop
safely.
Only works on structs that are annotated via #[
pin_data
]
.
Examples
ⓘ
#[pin_data(PinnedDrop)]
struct DriverData {
#[pin]
queue: Mutex<Vec<Command>>,
buf: Box<[u8; 1024 * 1024]>,
raw_info: *mut Info,
}
#[pinned_drop]
impl PinnedDrop for DriverData {
fn drop(self: Pin<&mut Self>) {
unsafe { bindings::destroy_info(self.raw_info) };
}
}