Pular para o conteúdo principal

const_initialized_with_non_constant_value_from_deferred_library

Detalhes sobre o diagnóstico 'const_initialized_with_non_constant_value_from_deferred_library' produzido pelo analisador do Dart.

Constant values from a deferred library can't be used to initialize a 'const' variable.

Descrição

#

O analisador emite este diagnóstico quando uma variável const é inicializada usando uma variável const de uma biblioteca importada com um import adiado (deferred). Constantes são avaliadas em tempo de compilação, e os valores de bibliotecas adiadas não estão disponíveis em tempo de compilação.

Para mais informações, consulte Carregando uma biblioteca sob demanda.

Exemplo

#

O código a seguir produz este diagnóstico porque a variável pi está sendo inicializada com a constante math.pi da biblioteca dart:math, e dart:math é importada como uma biblioteca adiada:

dart
import 'dart:math' deferred as math;
​
const pi = math.pi;

Correções comuns

#

Se você precisar referenciar o valor da constante da biblioteca importada, remova a palavra-chave deferred:

dart
import 'dart:math' as math;
​
const pi = math.pi;

Se você não precisar referenciar a constante importada, remova a referência:

dart
const pi = 3.14;

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