implicit_call_tearoffs
Explicitly tear-off call
methods when using an object as a Function.
This rule is available as of Dart 2.19.
Rule sets: core, recommended, flutter
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
Unless stated otherwise, the documentation on this site reflects Dart 3.5.3. Page last updated on 2024-07-03. View source or report an issue.