yield_ of_ invalid_ type
Detalhes sobre o diagnóstico 'yield_of_invalid_type' produzido pelo analisador do Dart.
A yielded value of type '{0}' must be assignable to '{1}'.
The type '{0}' implied by the 'yield*' expression must be assignable to '{1}'.
Descrição
#
O analisador gera este diagnóstico quando o tipo do objeto produzido por uma
expressão yield ou yield* não corresponde ao tipo dos objetos que devem ser
retornados pelos tipos Iterable ou Stream retornados por um gerador (uma função
ou método marcado com sync* ou async*).
Exemplo
#
O código a seguir gera este diagnóstico porque o getter zero é declarado para
retornar um Iterable que produz inteiros, mas o yield está retornando uma string
do iterável:
Iterable<int> get zero sync* {
yield '0';
}
Correções comuns
#
Se o tipo de retorno da função está correto, então corrija a expressão após a
palavra-chave yield para retornar o tipo correto:
Iterable<int> get zero sync* {
yield 0;
}
Se a expressão após o yield está correta, então altere o tipo de retorno da função
para aceitá-la:
Iterable<String> get zero sync* {
yield '0';
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.