use pin_project_lite::pin_project; enum Enum { Struct { pinned: T, unpinned: U }, Unit, } #[allow(single_use_lifetimes)] #[allow(clippy::unknown_clippy_lints)] #[allow(clippy::used_underscore_binding)] const _: () = { impl Enum {} #[allow(non_snake_case)] struct __Origin<'__pin, T, U> { __dummy_lifetime: ::pin_project_lite::__private::PhantomData<&'__pin ()>, Struct: (T, ::pin_project_lite::__private::AlwaysUnpin), Unit: (), } impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum where __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin, {} trait MustNotImplDrop {} #[allow(clippy::drop_bounds, drop_bounds)] impl MustNotImplDrop for T {} impl MustNotImplDrop for Enum {} }; fn main() {}