unnecessary_ set_ literal
Detalhes sobre o diagnóstico 'unnecessary_set_literal' produzido pelo analisador do Dart.
Braces unnecessarily wrap this expression in a set literal.
Descrição
#
O analisador emite este diagnóstico quando uma função com tipo de retorno void,
Future<void> ou FutureOr<void> usa um corpo com expressão (=>) e o valor
retornado é um literal de conjunto contendo um único elemento.
Embora a linguagem permita, retornar um valor de uma função void não é útil,
porque ele não pode ser usado no ponto de chamada. Nesse caso específico, o retorno
costuma vir de um mal-entendido sobre a sintaxe. As chaves não são necessárias e
podem ser removidas.
Exemplo
#
O código a seguir produz este diagnóstico porque a closure passada para g tem
tipo de retorno void, mas está retornando um conjunto:
void f() {
g(() => {1});
}
void g(void Function() p) {}
Correções comuns
#Remova as chaves em volta do valor:
void f() {
g(() => 1);
}
void g(void Function() p) {}
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ê.