【发布时间】:2016-07-12 01:10:17
【问题描述】:
我试图理解对象安全的概念。我从文档中知道对象安全性如下:
- 该特征不需要
Self: Sized - 它的所有方法都是对象安全的
如果对象安全所需的两个条件之一被删除,哪些事情可能会导致安全 Rust 所做的安全保证失败?
【问题讨论】:
-
你读过 Huon Wilson 的 Object Safety 和 Where Self Meets Sized: Revisiting Object Safety 吗?
-
是的......“内部结构使得它无法实际与 trait 对象一起使用。” - 我推断这意味着类型签名可能会得到满足,但可能会与借用检查或生命周期(??)发生冲突 - 所以你不能使用它。这两个条件足以让它实际编译。但它们有必要吗?很高兴看到丢弃任何一个都会给你带来麻烦的例子,以及究竟是什么阻碍。
标签: rust