Почему «явное ограничение времени жизни» для Box <T> в структуре?
Примечание редактора: этот код больше не выдает ту же ошибку после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)