summaryrefslogtreecommitdiff
path: root/rust/pin-init/src
diff options
context:
space:
mode:
authorBenno Lossin <lossin@kernel.org>2026-01-16 11:54:23 +0100
committerBenno Lossin <lossin@kernel.org>2026-01-17 10:51:42 +0100
commitdae5466c4aa5b43a6cda4282bf9ff8e6b42ece0e (patch)
treec97cfb2eebdcf077b8ccb01d07ae7ad93de251fe /rust/pin-init/src
parent560f6d13c33f9f06ca34c14dc7c0a045d949c4a0 (diff)
rust: pin-init: add `?Sized` bounds to traits in `#[pin_data]` macro
The `#[pin_data]` macro uses some auxiliary traits to ensure that a user does not implement `Drop` for the annotated struct, as that is unsound and can lead to UB. However, if the struct that is annotated is `!Sized`, the current bounds do not work, because `Sized` is an implicit bound for generics. This is *not* a soundness hole of pin-init, as it currently is impossible to construct an unsized struct using pin-init. Tested-by: Andreas Hindborg <a.hindborg@kernel.org> Reviewed-by: Gary Guo <gary@garyguo.net> Signed-off-by: Benno Lossin <lossin@kernel.org>
Diffstat (limited to 'rust/pin-init/src')
0 files changed, 0 insertions, 0 deletions