const_ with_ type_ parameters
Detalhes sobre o diagnóstico 'const_with_type_parameters' produzido pelo analisador do Dart.
A constant constructor tearoff can't use a type parameter as a type argument.
A constant creation can't use a type parameter as a type argument.
A constant function tearoff can't use a type parameter as a type argument.
Descrição
#
O analisador emite este diagnóstico quando um parâmetro de tipo é usado como argumento de tipo em uma invocação
const de um construtor. Isso não é permitido porque o valor do parâmetro de tipo (o tipo real que será usado em tempo de execução) não pode ser conhecido em tempo de compilação.
Exemplo
#
O código a seguir produz este diagnóstico porque o parâmetro de tipo T está sendo usado como argumento de tipo ao criar uma constante:
class C<T> {
const C();
}
C<T> newC<T>() => const C<T>();
Correções comuns
#Se o tipo que será usado no parâmetro de tipo puder ser conhecido em tempo de compilação, remova o uso do parâmetro de tipo:
class C<T> {
const C();
}
C<int> newC() => const C<int>();
Se o tipo que será usado no parâmetro de tipo só puder ser conhecido em tempo de execução, remova a palavra-chave
const:
class C<T> {
const C();
}
C<T> newC<T>() => C<T>();
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ê.