Ir para o conteúdo
Erros do Compilador RustErro
E0277

E0277 — Tipo Não Implementa Sized

Um tipo de tamanho dinâmico (DST) é usado onde um tipo Sized é exigido.

rustcargo

O que causa este erro

Tipos como str, [T] e dyn Trait não têm tamanho conhecido em tempo de compilação. A maioria dos parâmetros genéricos exige Sized por padrão. Não é possível armazenar DSTs diretamente na pilha.

Como corrigir

Use Box<dyn Trait>, &dyn Trait ou &str em vez de DSTs brutos. Adicione a restrição ?Sized a parâmetros genéricos se quiser aceitar DSTs: fn f<T: ?Sized>(x: &T). Use um tipo concreto com tamanho definido.

Documentação Oficial

Códigos de Erro Relacionados