Pular para o conteúdo principal

inference_failure_on_function_invocation

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

The type argument(s) of the function '{0}' can't be inferred.

Descrição

#

O analisador produz este diagnóstico quando:

  • a opção de linguagem strict-inference está habilitada no arquivo de opções de análise,
  • a invocação de um método ou função não tem argumentos de tipo, e
  • os valores dos argumentos de tipo não podem ser inferidos.

Exemplo

#

Dado um arquivo de opções de análise contendo o seguinte:

yaml
analyzer:
  language:
    strict-inference: true

O código a seguir produz este diagnóstico porque a invocação de m não tem argumentos de tipo explícitos, e os argumentos não podem ser inferidos:

dart
abstract class C {
  void m<T>();
}
​
void f(C c) {
  c.m();
}

Correções comuns

#

Forneça argumentos de tipo explícitos para a invocação:

dart
abstract class C {
  void m<T>();
}
​
void f(C c) {
  c.m<int>();
}

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