Pular para o conteúdo principal

var_with_no_type_annotation

Detalhes sobre o diagnóstico 'var_with_no_type_annotation' produzido pelo analisador do Dart.

Avoid declaring parameters with var and no type annotation.

NOTA: Esta regra foi removida no Dart 3.13.0; ela não funciona mais.

Descrição

#

O analisador gera este diagnóstico quando um parâmetro é declarado usando a palavra-chave var sem uma anotação de tipo.

Esse padrão deve ser evitado, pois provavelmente será um erro de compilação em uma versão futura do Dart. Além disso, usar var sem um tipo explícito faz o parâmetro ter o tipo dynamic, desabilitando a verificação de tipos estática para esse parâmetro.

Exemplos

#

O código a seguir gera este diagnóstico porque o parâmetro x é declarado com var:

dart
// @dart=3.12
void f(var x) {
  print(x);
}

O código a seguir gera este diagnóstico porque o parâmetro formal inicializador x é declarado com var:

dart
// @dart=3.12
class C {
  int x;
​
  C(var this.x);
}

Correções comuns

#

Se você sabe qual é o tipo desejado para o parâmetro, então substitua var por uma anotação de tipo:

dart
void f(String x) {
  print(x);
}

Se você não sabe ou não quer um tipo específico para o parâmetro, então substitua var por Object? ou dynamic, para tornar explícita a falta de um tipo mais específico:

dart
void f(Object? x) {
  print(x);
}

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