Source code
Revision control
Copy as Markdown
Other Tools
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() {}