Pular para o conteúdo principal

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:

dart
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:

dart
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:

dart
var x = 2;
var y = <int>[0, 1, x];

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ê.