Почему «явное ограничение времени жизни» для 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)

Ответы на вопрос(2)

Ваш ответ на вопрос