non_ constant_ default_ value_ from_ deferred_ library
Detalhes sobre o diagnóstico 'non_constant_default_value_from_deferred_library' produzido pelo analisador do Dart.
Constant values from a deferred library can't be used as a default parameter value.
Descrição
#
O analisador emite este diagnóstico quando o valor padrão de um parâmetro
opcional usa uma constante de uma biblioteca importada com um import deferred.
Valores padrão precisam estar disponíveis em tempo de compilação, e constantes de
bibliotecas deferred não estão disponíveis em tempo de compilação.
Para mais informações, veja carregamento preguiçoso de uma biblioteca.
Exemplo
#Dado um arquivo a.dart que define a constante zero:
const zero = 0;
O código a seguir gera este diagnóstico porque zero é declarada em uma
biblioteca importada com um import deferred:
import 'a.dart' deferred as a;
void f({int x = a.zero}) {}
Correções comuns
#
Se você precisar referenciar a constante da biblioteca importada, então remova a
palavra-chave deferred:
import 'a.dart' as a;
void f({int x = a.zero}) {}
Se você não precisar referenciar a constante, então substitua o valor padrão:
void f({int x = 0}) {}
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ê.