diff --git a/pin-project-internal/src/pin_project/derive.rs b/pin-project-internal/src/pin_project/derive.rs index 2cd3be20..9be68881 100644 --- a/pin-project-internal/src/pin_project/derive.rs +++ b/pin-project-internal/src/pin_project/derive.rs @@ -136,6 +136,7 @@ fn proj_allowed_lints(cx: &Context<'_>) -> (TokenStream, TokenStream, TokenStrea #proj_mut_allowed_lints #[allow(dead_code)] // This lint warns unused fields/variants. #[allow(clippy::mut_mut)] // This lint warns `&mut &mut `. + #[allow(clippy::missing_docs_in_private_items)] }; let proj_ref_allowed_lints = if cx.project_ref { Some(&global_allowed_lints) } else { None }; let proj_ref = quote! { @@ -148,6 +149,7 @@ fn proj_allowed_lints(cx: &Context<'_>) -> (TokenStream, TokenStream, TokenStrea let proj_own = quote! { #proj_own_allowed_lints #[allow(dead_code)] // This lint warns unused fields/variants. + #[allow(clippy::missing_docs_in_private_items)] #large_enum_variant }; (proj_mut, proj_ref, proj_own) diff --git a/tests/expand/default/enum.expanded.rs b/tests/expand/default/enum.expanded.rs index 599a5f97..660eb439 100644 --- a/tests/expand/default/enum.expanded.rs +++ b/tests/expand/default/enum.expanded.rs @@ -17,6 +17,7 @@ enum Enum { #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] enum EnumProj<'pin, T, U> where Enum: 'pin, diff --git a/tests/expand/default/struct.expanded.rs b/tests/expand/default/struct.expanded.rs index db3c9487..bacd16ae 100644 --- a/tests/expand/default/struct.expanded.rs +++ b/tests/expand/default/struct.expanded.rs @@ -24,6 +24,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __StructProjection<'pin, T, U> where Struct: 'pin, diff --git a/tests/expand/default/tuple_struct.expanded.rs b/tests/expand/default/tuple_struct.expanded.rs index 6b962d6b..f30c2944 100644 --- a/tests/expand/default/tuple_struct.expanded.rs +++ b/tests/expand/default/tuple_struct.expanded.rs @@ -20,6 +20,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __TupleStructProjection<'pin, T, U>( ::pin_project::__private::Pin<&'pin mut (T)>, &'pin mut (U), diff --git a/tests/expand/multifields/enum.expanded.rs b/tests/expand/multifields/enum.expanded.rs index 003f1c7e..4840af72 100644 --- a/tests/expand/multifields/enum.expanded.rs +++ b/tests/expand/multifields/enum.expanded.rs @@ -23,6 +23,7 @@ enum Enum { #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] enum EnumProj<'pin, T, U> where Enum: 'pin, @@ -82,6 +83,7 @@ where #[allow(clippy::redundant_pub_crate)] #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] +#[allow(clippy::missing_docs_in_private_items)] #[allow(variant_size_differences)] #[allow(clippy::large_enum_variant)] enum EnumProjOwn { diff --git a/tests/expand/multifields/struct.expanded.rs b/tests/expand/multifields/struct.expanded.rs index c3e7a02e..160a5ff5 100644 --- a/tests/expand/multifields/struct.expanded.rs +++ b/tests/expand/multifields/struct.expanded.rs @@ -27,6 +27,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __StructProjection<'pin, T, U> where Struct: 'pin, @@ -48,6 +49,7 @@ const _: () = { unpinned2: &'pin (U), } #[allow(dead_code)] + #[allow(clippy::missing_docs_in_private_items)] struct __StructProjectionOwned { pinned1: ::pin_project::__private::PhantomData, pinned2: ::pin_project::__private::PhantomData, diff --git a/tests/expand/multifields/tuple_struct.expanded.rs b/tests/expand/multifields/tuple_struct.expanded.rs index 3931e09c..fcb44ad8 100644 --- a/tests/expand/multifields/tuple_struct.expanded.rs +++ b/tests/expand/multifields/tuple_struct.expanded.rs @@ -20,6 +20,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __TupleStructProjection<'pin, T, U>( ::pin_project::__private::Pin<&'pin mut (T)>, ::pin_project::__private::Pin<&'pin mut (T)>, @@ -39,6 +40,7 @@ const _: () = { where TupleStruct: 'pin; #[allow(dead_code)] + #[allow(clippy::missing_docs_in_private_items)] struct __TupleStructProjectionOwned( ::pin_project::__private::PhantomData, ::pin_project::__private::PhantomData, diff --git a/tests/expand/naming/enum-all.expanded.rs b/tests/expand/naming/enum-all.expanded.rs index 8f7c8aff..ecb5962a 100644 --- a/tests/expand/naming/enum-all.expanded.rs +++ b/tests/expand/naming/enum-all.expanded.rs @@ -17,6 +17,7 @@ enum Enum { #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] enum Proj<'pin, T, U> where Enum: 'pin, @@ -59,6 +60,7 @@ where #[allow(clippy::redundant_pub_crate)] #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] +#[allow(clippy::missing_docs_in_private_items)] #[allow(variant_size_differences)] #[allow(clippy::large_enum_variant)] enum ProjOwn { diff --git a/tests/expand/naming/enum-mut.expanded.rs b/tests/expand/naming/enum-mut.expanded.rs index d489e827..3ecbf224 100644 --- a/tests/expand/naming/enum-mut.expanded.rs +++ b/tests/expand/naming/enum-mut.expanded.rs @@ -17,6 +17,7 @@ enum Enum { #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] enum Proj<'pin, T, U> where Enum: 'pin, diff --git a/tests/expand/naming/enum-own.expanded.rs b/tests/expand/naming/enum-own.expanded.rs index 5fc04308..908b74da 100644 --- a/tests/expand/naming/enum-own.expanded.rs +++ b/tests/expand/naming/enum-own.expanded.rs @@ -16,6 +16,7 @@ enum Enum { #[allow(clippy::redundant_pub_crate)] #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] +#[allow(clippy::missing_docs_in_private_items)] #[allow(variant_size_differences)] #[allow(clippy::large_enum_variant)] enum ProjOwn { diff --git a/tests/expand/naming/struct-all.expanded.rs b/tests/expand/naming/struct-all.expanded.rs index 36c12304..74a9bd1f 100644 --- a/tests/expand/naming/struct-all.expanded.rs +++ b/tests/expand/naming/struct-all.expanded.rs @@ -17,6 +17,7 @@ struct Struct { #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] struct Proj<'pin, T, U> where Struct: 'pin, @@ -54,6 +55,7 @@ where #[allow(clippy::redundant_pub_crate)] #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] +#[allow(clippy::missing_docs_in_private_items)] struct ProjOwn { pinned: ::pin_project::__private::PhantomData, unpinned: U, diff --git a/tests/expand/naming/struct-mut.expanded.rs b/tests/expand/naming/struct-mut.expanded.rs index 71640722..ee64b232 100644 --- a/tests/expand/naming/struct-mut.expanded.rs +++ b/tests/expand/naming/struct-mut.expanded.rs @@ -17,6 +17,7 @@ struct Struct { #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] struct Proj<'pin, T, U> where Struct: 'pin, diff --git a/tests/expand/naming/struct-none.expanded.rs b/tests/expand/naming/struct-none.expanded.rs index db3c9487..bacd16ae 100644 --- a/tests/expand/naming/struct-none.expanded.rs +++ b/tests/expand/naming/struct-none.expanded.rs @@ -24,6 +24,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __StructProjection<'pin, T, U> where Struct: 'pin, diff --git a/tests/expand/naming/struct-own.expanded.rs b/tests/expand/naming/struct-own.expanded.rs index b2f6079d..dffd0909 100644 --- a/tests/expand/naming/struct-own.expanded.rs +++ b/tests/expand/naming/struct-own.expanded.rs @@ -16,6 +16,7 @@ struct Struct { #[allow(clippy::redundant_pub_crate)] #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] +#[allow(clippy::missing_docs_in_private_items)] struct ProjOwn { pinned: ::pin_project::__private::PhantomData, unpinned: U, @@ -39,6 +40,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __StructProjection<'pin, T, U> where Struct: 'pin, diff --git a/tests/expand/naming/struct-ref.expanded.rs b/tests/expand/naming/struct-ref.expanded.rs index dea83832..2afa1dfd 100644 --- a/tests/expand/naming/struct-ref.expanded.rs +++ b/tests/expand/naming/struct-ref.expanded.rs @@ -43,6 +43,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __StructProjection<'pin, T, U> where Struct: 'pin, diff --git a/tests/expand/naming/tuple_struct-all.expanded.rs b/tests/expand/naming/tuple_struct-all.expanded.rs index 441da9cf..0f33d31d 100644 --- a/tests/expand/naming/tuple_struct-all.expanded.rs +++ b/tests/expand/naming/tuple_struct-all.expanded.rs @@ -13,6 +13,7 @@ struct TupleStruct(#[pin] T, U); #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] struct Proj<'pin, T, U>( ::pin_project::__private::Pin<&'pin mut (T)>, &'pin mut (U), @@ -48,6 +49,7 @@ where #[allow(clippy::redundant_pub_crate)] #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] +#[allow(clippy::missing_docs_in_private_items)] struct ProjOwn(::pin_project::__private::PhantomData, U); #[allow(box_pointers)] #[allow(deprecated)] diff --git a/tests/expand/naming/tuple_struct-mut.expanded.rs b/tests/expand/naming/tuple_struct-mut.expanded.rs index 615019bc..4d8e8095 100644 --- a/tests/expand/naming/tuple_struct-mut.expanded.rs +++ b/tests/expand/naming/tuple_struct-mut.expanded.rs @@ -13,6 +13,7 @@ struct TupleStruct(#[pin] T, U); #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] struct Proj<'pin, T, U>( ::pin_project::__private::Pin<&'pin mut (T)>, &'pin mut (U), diff --git a/tests/expand/naming/tuple_struct-none.expanded.rs b/tests/expand/naming/tuple_struct-none.expanded.rs index 6b962d6b..f30c2944 100644 --- a/tests/expand/naming/tuple_struct-none.expanded.rs +++ b/tests/expand/naming/tuple_struct-none.expanded.rs @@ -20,6 +20,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __TupleStructProjection<'pin, T, U>( ::pin_project::__private::Pin<&'pin mut (T)>, &'pin mut (U), diff --git a/tests/expand/naming/tuple_struct-own.expanded.rs b/tests/expand/naming/tuple_struct-own.expanded.rs index c85f05da..d7e93fe1 100644 --- a/tests/expand/naming/tuple_struct-own.expanded.rs +++ b/tests/expand/naming/tuple_struct-own.expanded.rs @@ -12,6 +12,7 @@ struct TupleStruct(#[pin] T, U); #[allow(clippy::redundant_pub_crate)] #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] +#[allow(clippy::missing_docs_in_private_items)] struct ProjOwn(::pin_project::__private::PhantomData, U); #[allow(box_pointers)] #[allow(deprecated)] @@ -32,6 +33,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __TupleStructProjection<'pin, T, U>( ::pin_project::__private::Pin<&'pin mut (T)>, &'pin mut (U), diff --git a/tests/expand/naming/tuple_struct-ref.expanded.rs b/tests/expand/naming/tuple_struct-ref.expanded.rs index 88c55509..f058100e 100644 --- a/tests/expand/naming/tuple_struct-ref.expanded.rs +++ b/tests/expand/naming/tuple_struct-ref.expanded.rs @@ -38,6 +38,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __TupleStructProjection<'pin, T, U>( ::pin_project::__private::Pin<&'pin mut (T)>, &'pin mut (U), diff --git a/tests/expand/not_unpin/enum.expanded.rs b/tests/expand/not_unpin/enum.expanded.rs index e60896c3..af312a0b 100644 --- a/tests/expand/not_unpin/enum.expanded.rs +++ b/tests/expand/not_unpin/enum.expanded.rs @@ -17,6 +17,7 @@ enum Enum { #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] enum EnumProj<'pin, T, U> where Enum: 'pin, diff --git a/tests/expand/not_unpin/struct.expanded.rs b/tests/expand/not_unpin/struct.expanded.rs index 8d8bb1f6..a40ee5d5 100644 --- a/tests/expand/not_unpin/struct.expanded.rs +++ b/tests/expand/not_unpin/struct.expanded.rs @@ -24,6 +24,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __StructProjection<'pin, T, U> where Struct: 'pin, diff --git a/tests/expand/not_unpin/tuple_struct.expanded.rs b/tests/expand/not_unpin/tuple_struct.expanded.rs index 0b4b5d92..76e61e25 100644 --- a/tests/expand/not_unpin/tuple_struct.expanded.rs +++ b/tests/expand/not_unpin/tuple_struct.expanded.rs @@ -20,6 +20,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __TupleStructProjection<'pin, T, U>( ::pin_project::__private::Pin<&'pin mut (T)>, &'pin mut (U), diff --git a/tests/expand/pinned_drop/enum.expanded.rs b/tests/expand/pinned_drop/enum.expanded.rs index b1ed73cb..461c33b1 100644 --- a/tests/expand/pinned_drop/enum.expanded.rs +++ b/tests/expand/pinned_drop/enum.expanded.rs @@ -18,6 +18,7 @@ enum Enum { #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] enum EnumProj<'pin, T, U> where Enum: 'pin, diff --git a/tests/expand/pinned_drop/struct.expanded.rs b/tests/expand/pinned_drop/struct.expanded.rs index 27ee41b5..beefa466 100644 --- a/tests/expand/pinned_drop/struct.expanded.rs +++ b/tests/expand/pinned_drop/struct.expanded.rs @@ -25,6 +25,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __StructProjection<'pin, T, U> where Struct: 'pin, diff --git a/tests/expand/pinned_drop/tuple_struct.expanded.rs b/tests/expand/pinned_drop/tuple_struct.expanded.rs index 83cd3b1d..820953be 100644 --- a/tests/expand/pinned_drop/tuple_struct.expanded.rs +++ b/tests/expand/pinned_drop/tuple_struct.expanded.rs @@ -21,6 +21,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __TupleStructProjection<'pin, T, U>( ::pin_project::__private::Pin<&'pin mut (T)>, &'pin mut (U), diff --git a/tests/expand/project_replace/enum.expanded.rs b/tests/expand/project_replace/enum.expanded.rs index 230f6a98..d41d71c8 100644 --- a/tests/expand/project_replace/enum.expanded.rs +++ b/tests/expand/project_replace/enum.expanded.rs @@ -16,6 +16,7 @@ enum Enum { #[allow(clippy::redundant_pub_crate)] #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] +#[allow(clippy::missing_docs_in_private_items)] #[allow(variant_size_differences)] #[allow(clippy::large_enum_variant)] enum EnumProjOwn { diff --git a/tests/expand/project_replace/struct.expanded.rs b/tests/expand/project_replace/struct.expanded.rs index 126640ad..3d4e070a 100644 --- a/tests/expand/project_replace/struct.expanded.rs +++ b/tests/expand/project_replace/struct.expanded.rs @@ -24,6 +24,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __StructProjection<'pin, T, U> where Struct: 'pin, @@ -41,6 +42,7 @@ const _: () = { unpinned: &'pin (U), } #[allow(dead_code)] + #[allow(clippy::missing_docs_in_private_items)] struct __StructProjectionOwned { pinned: ::pin_project::__private::PhantomData, unpinned: U, diff --git a/tests/expand/project_replace/tuple_struct.expanded.rs b/tests/expand/project_replace/tuple_struct.expanded.rs index fced02c0..8d3f5b3b 100644 --- a/tests/expand/project_replace/tuple_struct.expanded.rs +++ b/tests/expand/project_replace/tuple_struct.expanded.rs @@ -20,6 +20,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __TupleStructProjection<'pin, T, U>( ::pin_project::__private::Pin<&'pin mut (T)>, &'pin mut (U), @@ -35,6 +36,7 @@ const _: () = { where TupleStruct: 'pin; #[allow(dead_code)] + #[allow(clippy::missing_docs_in_private_items)] struct __TupleStructProjectionOwned( ::pin_project::__private::PhantomData, U, diff --git a/tests/expand/pub/enum.expanded.rs b/tests/expand/pub/enum.expanded.rs index 8c9eaecf..a3aca04f 100644 --- a/tests/expand/pub/enum.expanded.rs +++ b/tests/expand/pub/enum.expanded.rs @@ -17,6 +17,7 @@ pub enum Enum { #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] pub(crate) enum EnumProj<'pin, T, U> where Enum: 'pin, diff --git a/tests/expand/pub/struct.expanded.rs b/tests/expand/pub/struct.expanded.rs index cfa93b60..c6e3b935 100644 --- a/tests/expand/pub/struct.expanded.rs +++ b/tests/expand/pub/struct.expanded.rs @@ -24,6 +24,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] pub(crate) struct __StructProjection<'pin, T, U> where Struct: 'pin, diff --git a/tests/expand/pub/tuple_struct.expanded.rs b/tests/expand/pub/tuple_struct.expanded.rs index cf495a25..d4b00d19 100644 --- a/tests/expand/pub/tuple_struct.expanded.rs +++ b/tests/expand/pub/tuple_struct.expanded.rs @@ -20,6 +20,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] pub(crate) struct __TupleStructProjection<'pin, T, U>( pub ::pin_project::__private::Pin<&'pin mut (T)>, pub &'pin mut (U), diff --git a/tests/expand/unsafe_unpin/enum.expanded.rs b/tests/expand/unsafe_unpin/enum.expanded.rs index 2df2635c..414529de 100644 --- a/tests/expand/unsafe_unpin/enum.expanded.rs +++ b/tests/expand/unsafe_unpin/enum.expanded.rs @@ -17,6 +17,7 @@ enum Enum { #[allow(clippy::type_repetition_in_bounds)] #[allow(dead_code)] #[allow(clippy::mut_mut)] +#[allow(clippy::missing_docs_in_private_items)] enum EnumProj<'pin, T, U> where Enum: 'pin, diff --git a/tests/expand/unsafe_unpin/struct.expanded.rs b/tests/expand/unsafe_unpin/struct.expanded.rs index 838d0d34..44f6c705 100644 --- a/tests/expand/unsafe_unpin/struct.expanded.rs +++ b/tests/expand/unsafe_unpin/struct.expanded.rs @@ -24,6 +24,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __StructProjection<'pin, T, U> where Struct: 'pin, diff --git a/tests/expand/unsafe_unpin/tuple_struct.expanded.rs b/tests/expand/unsafe_unpin/tuple_struct.expanded.rs index c4896ef2..af82b2fb 100644 --- a/tests/expand/unsafe_unpin/tuple_struct.expanded.rs +++ b/tests/expand/unsafe_unpin/tuple_struct.expanded.rs @@ -20,6 +20,7 @@ const _: () = { extern crate pin_project as _pin_project; #[allow(dead_code)] #[allow(clippy::mut_mut)] + #[allow(clippy::missing_docs_in_private_items)] struct __TupleStructProjection<'pin, T, U>( ::pin_project::__private::Pin<&'pin mut (T)>, &'pin mut (U),