From e82b053f56d11c944c227cefa6d2c2689346d49e Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Thu, 8 Aug 2019 10:01:41 +0200 Subject: [PATCH] move of packed fields might or might not occur when they actually are sufficiently aligned --- src/libcore/pin.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libcore/pin.rs b/src/libcore/pin.rs index 88a56174629..251dc4c3b99 100644 --- a/src/libcore/pin.rs +++ b/src/libcore/pin.rs @@ -188,7 +188,8 @@ //! you do not accidentally use `self`/`this` in a way that is in conflict with pinning. //! //! Moreover, if your type is `#[repr(packed)]`, the compiler will automatically -//! move fields around to be able to drop them. As a consequence, you cannot use +//! move fields around to be able to drop them. In a packed struct, it might even do +//! that for fields that happen to be sufficiently aligned. As a consequence, you cannot use //! pinning with a `#[repr(packed)]` type. //! //! # Projections and Structural Pinning -- 2.44.0