¿Por qué se requiere un "límite de vida explícito" para Box <T> en struct?

Nota del editor: este código ya no produce el mismo error después deRFC 599 fue implementado, pero los conceptos discutidos en las respuestas siguen siendo válidos.

Estoy tratando de compilar este código:

trait A {
    fn f(&self);
}

struct S {
    a: Box<A>,
}

y obtengo este error:

a.rs:6:13: 6:14 error: explicit lifetime bound required
a.rs:6     a: Box<A>,

yo quieroS.a tener una instancia deA, y no veo cómo esa vida es apropiada aquí. ¿Qué necesito hacer para hacer feliz al compilador?

Mi versión de Rust:

rustc --version
rustc 0.12.0-pre-nightly (79a5448f4 2014-09-13 20:36:02 +0000)

Respuestas a la pregunta(2)

Su respuesta a la pregunta