avoid_void_async
Avoid async
functions that return void
.
This rule is available as of Dart 2.1.
This rule has a quick fix available.
Details
#DO mark async
functions as returning Future<void>
.
When declaring an async
method or function which does not return a value, declare that it returns Future<void>
and not just void
.
BAD:
void f() async {}
void f2() async => null;
GOOD:
Future<void> f() async {}
Future<void> f2() async => null;
EXCEPTION:
An exception is made for top-level main
functions, where the Future
annotation can (and generally should) be dropped in favor of void
.
GOOD:
Future<void> f() async {}
void main() async {
await f();
}
Usage
#To enable the avoid_void_async
rule, add avoid_void_async
under linter > rules in your analysis_options.yaml
file:
linter:
rules:
- avoid_void_async
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.