Dois vetores dimensionais em Rust

Nota do Editor: Esta questão é anterior a Rust0,1 (marcado 2013-07-03) e não é sintaticamente válido código Rust 1.0. As respostas ainda podem conter informações valiosas.

Alguém sabe como criar vetores bidimensionais mutáveis ​​em Rust e passá-los para funcionar para serem manipulados?

Isso é o que eu tentei até agora:

extern crate std;

fn promeni(rec: &[u8]) {
    rec[0][1] = 0x01u8;
}

fn main() {
    let mut rec = ~[[0x00u8,0x00u8],
        [0x00u8,0x00u8]
    ];
    io::println(u8::str(rec[0][1]));
    promeni(rec);
    io::println(u8::str(rec[0][1]));
}

questionAnswers(2)

yourAnswerToTheQuestion