Skip to main content

prefer_void_to_null

Learn about the prefer_void_to_null linter rule.

Stable
Fix available

Don't use the Null type, unless you are positive that you don't want void.

Details

#

DON'T use the type Null where void would work.

BAD:

dart
Null f() {} Future<Null> f() {} Stream<Null> f() {} f(Null x) {} 

GOOD:

dart
void f() {} Future<void> f() {} Stream<void> f() {} f(void x) {} 

Some exceptions include formulating special function types:

dart
Null Function(Null, Null); 

and for making empty literals which are safe to pass into read-only locations for any type of map or list:

dart
<Null>[]; <int, Null>{}; 

Enable

#

To enable the prefer_void_to_null rule, add prefer_void_to_null under linter > rules in your analysis_options.yaml file:

analysis_options.yaml
yaml
linter:  rules:  - prefer_void_to_null 

If you're instead using the YAML map syntax to configure linter rules, add prefer_void_to_null: true under linter > rules:

analysis_options.yaml
yaml
linter:  rules:  prefer_void_to_null: true