24 lines
404 B
Rust
24 lines
404 B
Rust
use std::pin::Pin;
|
|
|
|
use pin_project::{pin_project, pinned_drop};
|
|
|
|
#[pin_project(PinnedDrop, project = EnumProj, project_ref = EnumProjRef)]
|
|
enum Enum<T, U> {
|
|
Struct {
|
|
#[pin]
|
|
pinned: T,
|
|
unpinned: U,
|
|
},
|
|
Tuple(#[pin] T, U),
|
|
Unit,
|
|
}
|
|
|
|
#[pinned_drop]
|
|
impl<T, U> PinnedDrop for Enum<T, U> {
|
|
fn drop(self: Pin<&mut Self>) {
|
|
let _ = self;
|
|
}
|
|
}
|
|
|
|
fn main() {}
|