inference_ failure_ on_ function_ invocation
The type argument(s) of the function '{0}' can't be inferred.
Description
#The analyzer produces this diagnostic when
- the language option
strict-inference
has been enabled in the analysis options file, - the invocation of a method or function doesn't have type arguments, and
- the values for the type arguments can't be inferred.
Example
#Given an analysis options file containing the following:
analyzer:
language:
strict-inference: true
The following code produces this diagnostic because the invocation of the
method
m
doesn't have type arguments and the type arguments can't be
inferred:
abstract class C {
void m<T>();
}
void f(C c) {
c.m();
}
Common fixes
#Provide explicit type arguments for the invocation:
abstract class C {
void m<T>();
}
void f(C c) {
c.m<int>();
}
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Page last updated on 2025-9-1. View source or report an issue.