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::type_repetition_in_bounds)]
21 #[allow(unused_qualifications)]
22 #[allow(clippy::semicolon_if_nothing_returned)]
23 #[allow(clippy::use_self)]
24 #[allow(clippy::used_underscore_binding)]
25 const _: () = {
26 #[allow(unused_extern_crates)]
27 extern crate pin_project as _pin_project;
28 impl<T, U> Enum<T, U> {}
29 #[allow(missing_debug_implementations)]
30 struct __Enum<'pin, T, U> {
31 __pin_project_use_generics: _pin_project::__private::AlwaysUnpin<
32 'pin,
33 (
34 _pin_project::__private::PhantomData<T>,
35 _pin_project::__private::PhantomData<U>,
36 ),
37 >,
38 __field0: T,
39 __field1: T,
40 }
41 impl<'pin, T, U> _pin_project::__private::Unpin for Enum<T, U> where
42 __Enum<'pin, T, U>: _pin_project::__private::Unpin
43 {
44 }
45 #[doc(hidden)]
46 unsafe impl<'pin, T, U> _pin_project::UnsafeUnpin for Enum<T, U> where
47 __Enum<'pin, T, U>: _pin_project::__private::Unpin
48 {
49 }
50 trait EnumMustNotImplDrop {}
51 #[allow(clippy::drop_bounds, drop_bounds)]
52 impl<T: _pin_project::__private::Drop> EnumMustNotImplDrop for T {}
53 impl<T, U> EnumMustNotImplDrop for Enum<T, U> {}
54 #[doc(hidden)]
55 impl<T, U> _pin_project::__private::PinnedDrop for Enum<T, U> {
drop(self: _pin_project::__private::Pin<&mut Self>)56 unsafe fn drop(self: _pin_project::__private::Pin<&mut Self>) {}
57 }
58 };
main()59 fn main() {}
60