type_ parameter_ supertype_ of_ its_ bound
Detalhes sobre o diagnóstico 'type_parameter_supertype_of_its_bound' produzido pelo analisador do Dart.
'{0}' can't be a supertype of its upper bound.
Descrição
#
O analisador produz este diagnóstico quando o limite (bound) de um parâmetro de tipo (o tipo que segue a palavra-chave
extends) é, direta ou indiretamente, o próprio parâmetro de tipo. Afirmar que o parâmetro de tipo deve ser igual a si mesmo, ou um subtipo de si mesmo, ou um subtipo de si mesmo não ajuda, porque ele sempre será igual a si mesmo.
Exemplos
#O código a seguir produz este diagnóstico porque o limite de T é T:
class C<T extends T> {}
O código a seguir produz este diagnóstico porque o limite de T1 é T2, e o limite de
T2 é T1, tornando efetivamente o limite de T1 igual a T1:
class C<T1 extends T2, T2 extends T1> {}
Correções comuns
#Se o parâmetro de tipo precisa ser uma subclasse de algum tipo, então substitua o limite pelo tipo necessário:
class C<T extends num> {}
Se o parâmetro de tipo pode ser qualquer tipo, então remova a cláusula extends:
class 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ê.