implicit_call_tearoffs

Group: style

Maturity: stable

Dart SDK: >= 2.19.0 • (Linter v1.29.0)

Since info is static, may be stale
has-fix

View all Lint Rules

Using the Linter

DO Explicitly tear off .call methods from objects when assigning to a Function type. There is less magic with an explicit tear off. Future language versions may remove the implicit call tear off.

BAD:

class Callable {
  void call() {}
}
void callIt(void Function() f) {
  f();
}

callIt(Callable());

GOOD:

class Callable {
  void call() {}
}
void callIt(void Function() f) {
  f();
}

callIt(Callable().call);

Usage

To enable the implicit_call_tearoffs lint, add implicit_call_tearoffs under linter > rules in your analysis_options.yaml file:

linter:
  rules:
    - implicit_call_tearoffs