[英]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.