From: Mohamad Alsadhan Date: Tue, 28 Apr 2026 13:10:54 +0000 (+0100) Subject: rust: pin-init: internal: add missing where clause to projection types X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=5edf8ac281ad04433c606917a1a9e88bf8fa10d8;p=thirdparty%2Fkernel%2Flinux.git rust: pin-init: internal: add missing where clause to projection types `#[pin_data]` failed to propagate the struct's `where` clause to the generated projection struct. As a result, bounds written in a `where` clause could be dropped during expansion, causing type errors when fields depended on those bounds. Fix this by adding the missing `where` clause to the generated projection struct. Reported-by: Andreas Hindborg Closes: https://rust-for-linux.zulipchat.com/#narrow/channel/561532-pin-init/topic/generic.20bounds.20and.20.60.23.5Bpin_data.5D.60/with/578381591 Signed-off-by: Mohamad Alsadhan Reviewed-by: Gary Guo [ Reworded commit message - Gary ] Link: https://patch.msgid.link/20260428-pin-init-sync-v1-5-07f9bd3859fb@garyguo.net Signed-off-by: Gary Guo --- diff --git a/rust/pin-init/internal/src/pin_data.rs b/rust/pin-init/internal/src/pin_data.rs index 7d871236b49c7..6b1b8f26379ac 100644 --- a/rust/pin-init/internal/src/pin_data.rs +++ b/rust/pin-init/internal/src/pin_data.rs @@ -304,7 +304,9 @@ fn generate_projections( #[doc = #docs] #[allow(dead_code)] #[doc(hidden)] - #vis struct #projection #generics_with_pin_lt { + #vis struct #projection #generics_with_pin_lt + #whr + { #(#fields_decl)* ___pin_phantom_data: ::core::marker::PhantomData<&'__pin mut ()>, }