E0073

未匹配的标注

注意:编译器不再触发此错误码

你不能定义由一个 Foo 实例才能生成另一个新的 Foo 值的结构或枚举体。这是因为 Foo 的第一个实例无法被初始化。(哲学问题,同类产生同类,但是第一个同类由哪个同类产生?)

下面是一个表示此问题的结构体示例:

struct Foo { x: Box<Foo> } // error

一个修复方法是使用 Option , 像这样:

struct Foo { x: Option<Box<Foo>> }

现在至少可以创建第一个实例了(无中生有,无也是有,万物相生,有无相类):

Foo { x: None }.

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/rust-rcei-2020/...

译文地址:https://learnku.com/docs/rust-rcei-2020/...

上一篇 下一篇
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~