[英]Is the ManuallyDrop ABI guaranteed to be repr(transparent)?
諾米康說:
代表(透明)
[...] 如果單個字段是 pub,或者如果其布局以散文形式記錄,則此 repr 僅被視為類型的公共 ABI 的一部分。 否則,布局不應被其他板條箱所依賴。
ManuallyDrop<T>
是repr(transparent)
,但它的單個字段不是pub
。 它的文檔說:
[...] 這個包裝器是 0 成本的。
ManuallyDrop<T>
與T
進行相同的布局優化。 [...]
這算作在散文中記錄其布局嗎? 假設我可以將 T 轉換或以其他方式轉換(例如指針轉換)為ManuallyDrop<T>
T
安全?
這實際上剛剛在今天發布的Rust 1.61.0中得到了澄清。 ManuallyDrop
的文檔現在指定(添加的文本以粗體突出顯示):
ManuallyDrop<T>
保證與T
具有相同的布局,並進行與T
相同的布局優化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.