Как я могу индексировать массивы C в Rust?

У меня есть функция C, возвращающая указатель:

type MYSQL_RES_REF = *mut c_void;
type MYSQL_ROW = *const *const c_char;

#[no_mangle]
extern "C" {
    fn mysql_fetch_row(res: MYSQL_RES_REF) -> MYSQL_ROW;
}

let pointer = mysql_fetch_row(self.res);
let row_p = match pointer {
    p if p == (0 as *const *const c_char) => panic!(),
    p => p,
};

let field: &[u8] = unsafe { ffi::c_str_to_bytes(row_p[i]) };

но попытка проиндексировать его (последняя строка) приводит к ошибке:

error: cannot index a value of type `*const *const i8`

Интересно, еслиstd::c_vec было то, что я хотел, нопо-видимому, это было удалено.

Ответы на вопрос(1)

Ваш ответ на вопрос