Wektory dwuwymiarowe w Rust

Uwaga edytora: To pytanie poprzedza Rust0.1 (otagowany 2013-07-03) i nie jest poprawnym składniowo kodem Rust 1.0. Odpowiedzi mogą nadal zawierać cenne informacje.

Czy ktoś wie, jak tworzyć zmienne dwuwymiarowe wektory w Rust i przekazywać je do działania, aby można je było manipulować?

Oto, co próbowałem do tej pory:

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