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)