¿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)