目錄
目錄

Explicitly tear-off call methods when using an object as a Function.

This rule is available as of Dart 2.19.0.

This rule has a quick fix available.

Details

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 rule, add implicit_call_tearoffs under linter > rules in your analysis_options.yaml file:

linter:
  rules:
    - implicit_call_tearoffs