non_ constant_ list_ element
Detalhes sobre o diagnóstico 'non_constant_list_element' produzido pelo analisador do Dart.
The values in a const list literal must be constants.
Descrição
#
O analisador emite este diagnóstico quando um elemento em um literal de lista
constante não é um valor constante. O literal de lista pode ser constante de
forma explícita (por ter o prefixo da palavra-chave const) ou de forma implícita
(por aparecer em um contexto constanteConstant contextUma região do código em que a keyword const está implícita e
tudo dentro dessa região precisa ser constante. Saiba mais).
Exemplo
#
O código a seguir gera este diagnóstico porque x não é uma constante, mesmo
aparecendo em um literal de lista implicitamente constante:
var x = 2;
var y = const <int>[0, 1, x];
Correções comuns
#
Se a lista precisar ser uma lista constante, então torne o elemento uma constante.
No exemplo acima, você pode adicionar a palavra-chave const à declaração de
x:
const x = 2;
var y = const <int>[0, 1, x];
Se a expressão não puder se tornar uma constante, então a lista também não pode
ser constante, e você precisa alterar o código para que a lista não seja
constante. No exemplo acima, isso significa remover a palavra-chave const
antes
do literal de lista:
var x = 2;
var y = <int>[0, 1, x];
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ê.