E0308E0308 — Tipos Incompatíveis
O tipo esperado não corresponde ao tipo real fornecido.
O que causa este erro
Uma função retorna um tipo diferente do declarado, uma variável recebe um tipo incompatível, ou um braço de match retorna um tipo diferente. O sistema de tipos estrito do Rust exige correspondência exata de tipos sem conversões implícitas.
Como corrigir
Converta o valor para o tipo esperado usando .into(), as, ou os traits From/Into. Corrija a anotação do tipo de retorno para corresponder ao valor retornado. Use .to_string(), .as_str() ou outros métodos de conversão conforme apropriado.
Exemplo
fn main() {
let x: i32 = "hello";
}Códigos de Erro Relacionados
panic-stack-overflowPanic — Estouro de Pilha
O programa entrou em pânico devido ao uso excessivo de stack, tipicamente causado por recursão profunda.
E0428E0428 — Definição Duplicada
Um item com o mesmo nome é definido mais de uma vez no mesmo escopo.
E0599E0599 — Nenhum Método Chamado X Encontrado para o Tipo
O método não existe no tipo fornecido, ou o trait necessário não está no escopo.
E0600E0600 — Não é Possível Aplicar Operador Unário
Um operador unário é aplicado a um tipo que não o suporta.
unused_mutAviso de Mut Não Utilizado
Uma variável é declarada como mutável mas nunca é de fato mutada.
E0271E0271 — Incompatibilidade de Tipo em Tipo Associado
Um tipo associado em uma implementação de trait não corresponde ao tipo esperado.