Skip to main content

implicit_call_tearoffs

Implicit tear-off of the 'call' method.

Description

#

The analyzer produces this diagnostic when an object with a call method is assigned to a function-typed variable, implicitly tearing off the call method.

Example

#

The following code produces this diagnostic because an instance of Callable is passed to a function expecting a Function:

dart
class Callable {
  void call() {}
}

void callIt(void Function() f) {
  f();
}

void f() {
  callIt(Callable());
}

Common fixes

#

Explicitly tear off the call method:

dart
class Callable {
  void call() {}
}

void callIt(void Function() f) {
  f();
}

void f() {
  callIt(Callable().call);
}