|
use pin_project::{pin_project, UnsafeUnpin};
|
|
|
|
#[pin_project(UnsafeUnpin, project = EnumProj, project_ref = EnumProjRef)]
|
|
enum Enum<T, U> {
|
|
Struct {
|
|
#[pin]
|
|
pinned: T,
|
|
unpinned: U,
|
|
},
|
|
Tuple(#[pin] T, U),
|
|
Unit,
|
|
}
|
|
|
|
unsafe impl<T: Unpin, U> UnsafeUnpin for Enum<T, U> {}
|
|
|
|
fn main() {}
|