implicit_ call_ tearoffs
Explicitly tear-off call
methods when using an object as a Function.
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);
Enable
#
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
If you're instead using the YAML map syntax to configure linter rules,
add
implicit_call_tearoffs: true
under
linter > rules:
linter:
rules:
implicit_call_tearoffs: true
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Report an issue.