Ir para o conteúdo
Erros do Compilador RustErro
E0277

E0277 — Trait Não Satisfeito

Um tipo não implementa um trait obrigatório.

rustcargo

O que causa este erro

Uma função, struct ou bound de trait exige que um tipo implemente um trait específico, mas o tipo não o faz. Isso é comum com Display, Debug, Clone e outros traits padrão. Funções genéricas frequentemente requerem bounds de trait que seu tipo não satisfaz.

Como corrigir

Implemente o trait necessário para seu tipo usando #[derive(...)] ou um bloco impl manual. Verifique se o trait pode ser derivado automaticamente. Use um tipo wrapper que implemente o trait.

Exemplo

fn print_it(x: impl std::fmt::Display) {}
struct Foo;
print_it(Foo);
Documentação Oficial

Códigos de Erro Relacionados