Pular para o conteúdo principal

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:

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

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

dart
class C<T> {
  const C();
}
​
C<T> newC<T>() => C<T>();

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