blob: 54cd1f8ccd6e9812cbb6f523325cfb537b26bf9f [file] [log] [blame]
Haibo Huangc1311072021-02-09 17:42:22 -08001use pin_project::pin_project;
2#[pin(__private())]
3enum 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)]
Joel Galensonc1569cc2021-08-09 10:36:36 -070020#[allow(clippy::type_repetition_in_bounds)]
David LeGare89151932022-03-02 16:21:12 +000021#[allow(unused_qualifications)]
Elliott Hughesa2c3c562021-04-01 16:34:15 -070022#[allow(clippy::semicolon_if_nothing_returned)]
Joel Galensonc1569cc2021-08-09 10:36:36 -070023#[allow(clippy::use_self)]
Haibo Huangc1311072021-02-09 17:42:22 -080024#[allow(clippy::used_underscore_binding)]
25const _: () = {
David LeGare89151932022-03-02 16:21:12 +000026 #[allow(unused_extern_crates)]
27 extern crate pin_project as _pin_project;
Haibo Huangc1311072021-02-09 17:42:22 -080028 impl<T, U> Enum<T, U> {}
29 #[allow(missing_debug_implementations)]
30 struct __Enum<'pin, T, U> {
David LeGare89151932022-03-02 16:21:12 +000031 __pin_project_use_generics: _pin_project::__private::AlwaysUnpin<
Haibo Huangc1311072021-02-09 17:42:22 -080032 'pin,
33 (
David LeGare89151932022-03-02 16:21:12 +000034 _pin_project::__private::PhantomData<T>,
35 _pin_project::__private::PhantomData<U>,
Haibo Huangc1311072021-02-09 17:42:22 -080036 ),
37 >,
38 __field0: T,
39 __field1: T,
40 }
David LeGare89151932022-03-02 16:21:12 +000041 impl<'pin, T, U> _pin_project::__private::Unpin for Enum<T, U> where
42 __Enum<'pin, T, U>: _pin_project::__private::Unpin
Haibo Huangc1311072021-02-09 17:42:22 -080043 {
44 }
45 #[doc(hidden)]
David LeGare89151932022-03-02 16:21:12 +000046 unsafe impl<'pin, T, U> _pin_project::UnsafeUnpin for Enum<T, U> where
47 __Enum<'pin, T, U>: _pin_project::__private::Unpin
Haibo Huangc1311072021-02-09 17:42:22 -080048 {
49 }
50 trait EnumMustNotImplDrop {}
51 #[allow(clippy::drop_bounds, drop_bounds)]
David LeGare89151932022-03-02 16:21:12 +000052 impl<T: _pin_project::__private::Drop> EnumMustNotImplDrop for T {}
Haibo Huangc1311072021-02-09 17:42:22 -080053 impl<T, U> EnumMustNotImplDrop for Enum<T, U> {}
54 #[doc(hidden)]
David LeGare89151932022-03-02 16:21:12 +000055 impl<T, U> _pin_project::__private::PinnedDrop for Enum<T, U> {
56 unsafe fn drop(self: _pin_project::__private::Pin<&mut Self>) {}
Haibo Huangc1311072021-02-09 17:42:22 -080057 }
58};
59fn main() {}