繁体   English   中英

ManuallyDrop ABI 是否保证 repr(透明)?

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM