Rust требует полной ясности при работе с числами. Нельзя использовать тип u8, работая с типом u32: это ошибка.
u8
u32
К счастью, в Rust есть ключевое слово as, позволяющее очень легко преобразовывать типы.