【发布时间】:2013-05-29 00:43:02
【问题描述】:
为什么以下失败以及如何存储指向特征的拥有指针?
trait Trait {};
struct Struct;
impl Trait for Struct {};
struct Container {
child: ~Trait
};
let container = ~Container { child: ~Struct };
错误:不匹配的类型:预期 ~main::test02::Trait 但找到 ~main::test02::Struct(预期特征 benchmark::test02::Trait 但找到 ~-ptr)
【问题讨论】:
-
您是否按照 Ramon 的建议将值转换为您的特征类型成功了?我正在尝试相同的方法,它编译得很好,但是运行时出现段错误。我为它打开了一个错误:github.com/mozilla/rust/issues/6717
-
@Andreas 这很奇怪。我可以确认您的代码已崩溃(即使进行了一些修改 - 问题几乎肯定存在)。但是,我不确定这总是崩溃 - 不知道为什么这种情况很特殊。
标签: rust