null_ check_ on_ nullable_ type_ parameter
Detalhes sobre o diagnóstico 'null_check_on_nullable_type_parameter' produzido pelo analisador do Dart.
The null check operator shouldn't be used on a variable whose type is a potentially nullable type parameter.
Descrição
#
O analisador emite este diagnóstico quando um operador de verificação de nulo
é usado em uma variável cujo tipo é T?, em que T é um parâmetro de tipo
que permite que o argumento de tipo seja anulável (não tem limite ou tem um
limite que é anulável).
Dado um parâmetro de tipo genérico T que tem um limite anulável, é muito
fácil introduzir verificações de nulo errôneas ao trabalhar com uma variável
do tipo T?. Em especial, não é incomum ter T? x; e querer afirmar que
x
recebeu um valor válido do tipo T. Um erro comum é fazer isso com x!. Isso
quase sempre está incorreto, porque se T for um tipo anulável, x
pode
validamente conter null como um valor do tipo T.
Exemplo
#
O código a seguir produz este diagnóstico porque t tem o tipo T? e T
permite que o argumento de tipo seja anulável (porque não tem cláusula
extends):
T f<T>(T? t) => t!;
Correções comuns
#Use o parâmetro de tipo para converter a variável:
T f<T>(T? t) => t as 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ê.