Estructura que posee algunos datos y una referencia a los datos [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Cómo inicializar los campos de estructura que se refieren entre sí 1 respuesta

La construcción de un objeto asigna los datos necesarios para la vida útil de ese objeto, pero también crea otro objeto que necesita mantener referencias a los datos:

pub fn new() -> Obj {
    let data = compute();

    Obj {
        original: data,
        processed: AnotherObj {
            reference: &data
        }
    }
}

¿Es posible expresar esto en términos de Rust?

Aquí me gustaríaObj, AnotherObj ydata tener la misma vida útil y, por supuesto, sobrevivir a lanew() llamada.