编辑注:在实现RFC 599之后,此代码不再产生相同的错误,但回答中讨论的概念仍然有效。
我正在尝试编译这段代码:
trait A {
fn f(&self);
}
struct S {
a: Box<A>,
}
我遇到了这个错误:
a.rs:6:13: 6:14 error: explicit lifetime bound required
a.rs:6 a: Box<A>,
我希望 S.a
拥有一个 A
的实例,但不知道这里的生命周期是否合适。我需要做什么才能让编译器满意?
我的 Rust 版本:
rustc --version
rustc 0.12.0-pre-nightly (79a5448f4 2014-09-13 20:36:02 +0000)