Avatar ·

Como obter um slice como um array de tamanho fixo em Rust?

Olá! Comecei a estudar Rust e me deparei com um problema que parece simples, mas não consigo encontrar uma solução elegante. Tenho um slice de um vetor ou outro array, por exemplo `&[u8]`. Preciso convertê-lo em um array de tamanho fixo, como `[u8; 4]`. Em outras linguagens, eu simplesmente faria um cast ou pegaria os primeiros N elementos, mas em Rust tudo é estritamente tipado. Aqui está um exemplo que não funciona: ```rust fn main() { let data: Vec = vec![1, 2, 3, 4, 5]; let slice: &[u8] = &data[0..4]; // Quero obter um array [u8; 4] let array: [u8; 4] = slice; // Erro: expected array `[u8; 4]`, found `&[u8]` } ``` Sei que posso copiar manualmente cada elemento, mas isso parece feio: ```rust let mut array: [u8; 4] = [0; 4]; for (i, &val)