1 use pin_project::pin_project;
2 #[pin(__private())]
3 enum Enum<T, U> {
4 Struct {
5 #[pin]
6 pinned: T,
7 unpinned: U,
8 },
9 Tuple(#[pin] T, U),
10 Unit,
11 }
12 #[allow(box_pointers)]
13 #[allow(deprecated)]
14 #[allow(explicit_outlives_requirements)]
15 #[allow(single_use_lifetimes)]
16 #[allow(unreachable_pub)]
17 #[allow(clippy::unknown_clippy_lints)]
18 #[allow(clippy::pattern_type_mismatch)]
19 #[allow(clippy::redundant_pub_crate)]
20 #[allow(clippy::semicolon_if_nothing_returned)]
21 #[allow(clippy::used_underscore_binding)]
22 const _: () = {
23 impl<T, U> Enum<T, U> {}
24 #[allow(missing_debug_implementations)]
25 struct __Enum<'pin, T, U> {
26 __pin_project_use_generics: ::pin_project::__private::AlwaysUnpin<
27 'pin,
28 (
29 ::pin_project::__private::PhantomData<T>,
30 ::pin_project::__private::PhantomData<U>,
31 ),
32 >,
33 __field0: T,
34 __field1: T,
35 }
36 impl<'pin, T, U> ::pin_project::__private::Unpin for Enum<T, U> where
37 __Enum<'pin, T, U>: ::pin_project::__private::Unpin
38 {
39 }
40 #[doc(hidden)]
41 unsafe impl<'pin, T, U> ::pin_project::UnsafeUnpin for Enum<T, U> where
42 __Enum<'pin, T, U>: ::pin_project::__private::Unpin
43 {
44 }
45 trait EnumMustNotImplDrop {}
46 #[allow(clippy::drop_bounds, drop_bounds)]
47 impl<T: ::pin_project::__private::Drop> EnumMustNotImplDrop for T {}
48 impl<T, U> EnumMustNotImplDrop for Enum<T, U> {}
49 #[doc(hidden)]
50 impl<T, U> ::pin_project::__private::PinnedDrop for Enum<T, U> {
drop(self: ::pin_project::__private::Pin<&mut Self>)51 unsafe fn drop(self: ::pin_project::__private::Pin<&mut Self>) {}
52 }
53 };
main()54 fn main() {}
55