yield_ in_ non_ generator
Detalhes sobre o diagnóstico 'yield_in_non_generator' produzido pelo analisador do Dart.
Yield statements must be in a generator function (one marked with either 'async*' or 'sync*').
Yield-each statements must be in a generator function (one marked with either 'async*' or 'sync*').
Descrição
#
O analisador gera este diagnóstico quando uma instrução yield ou yield* aparece
em uma função cujo corpo não está marcado com um dos modificadores async*
ou
sync*.
Exemplos
#
O código a seguir gera este diagnóstico porque yield é usado em uma função cujo
corpo não tem modificador:
Iterable<int> get digits {
yield* [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
}
O código a seguir gera este diagnóstico porque yield* é usado em uma função cujo
corpo tem o modificador async em vez do modificador async*:
Stream<int> get digits async {
yield* [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
}
Correções comuns
#
Adicione um modificador, ou altere o modificador existente para que seja async* ou
sync*:
Iterable<int> get digits sync* {
yield* [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
}
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ê.