summaryrefslogtreecommitdiffstats
path: root/third_party/rust/pin-project/tests/expand/unsafe_unpin/enum.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/pin-project/tests/expand/unsafe_unpin/enum.rs')
-rw-r--r--third_party/rust/pin-project/tests/expand/unsafe_unpin/enum.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/third_party/rust/pin-project/tests/expand/unsafe_unpin/enum.rs b/third_party/rust/pin-project/tests/expand/unsafe_unpin/enum.rs
new file mode 100644
index 0000000000..d368d7132b
--- /dev/null
+++ b/third_party/rust/pin-project/tests/expand/unsafe_unpin/enum.rs
@@ -0,0 +1,16 @@
+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() {}