always_ specify_ types
Detalhes sobre o diagnóstico 'always_specify_types' produzido pelo analisador do Dart.
Missing type annotation.
Descrição
#O analisador emite este diagnóstico quando uma anotação de tipo explícita está ausente.
Isso inclui os seguintes casos:
-
Uma declaração de variável que usa
var,finalouconstsem um tipo específico. - Um parâmetro de função sem anotação de tipo.
- Um literal de coleção sem argumentos de tipo explícitos.
- Uma referência a uma classe genérica, mixin ou enum sem argumentos de tipo.
Tipos anotados com @optionalTypeArgs de package:meta são
isentos de exigir argumentos de tipo.
Exemplos
#
O código a seguir produz este diagnóstico porque
a variável de nível superior usa var sem um tipo explícito:
var x = 1;
O código a seguir produz este diagnóstico porque
o parâmetro p não tem anotação de tipo:
void f(p) {}
O código a seguir produz este diagnóstico porque o literal de conjunto não tem um argumento de tipo explícito:
Set<int> items = {1, 2};
O código a seguir produz este diagnóstico porque
o tipo genérico C é usado sem especificar seu argumento de tipo:
class C<T> {}
C c = C<int>();
Correções comuns
#Adicione uma anotação de tipo explícita às declarações de variáveis:
int x = 1;
Adicione uma anotação de tipo aos parâmetros:
void f(int p) {}
Adicione argumentos de tipo explícitos aos literais de coleção:
Set<int> items = <int>{1, 2};
Adicione argumentos de tipo às referências de tipos genéricos:
class C<T> {}
C<int> c = C<int>();
Se um argumento de tipo for opcional, anote a declaração com
@optionalTypeArgs de package:meta para isentá-la desta regra:
import 'package:meta/meta.dart';
@optionalTypeArgs
class C<T> {}
C c = C();
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ê.