implicit_call_tearoffs
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