no_wildcard_variable_uses

Stable
Core

Don't use wildcard parameters or variables.

Details

#

DON'T use wildcard parameters or variables.

Wildcard parameters and local variables (e.g. underscore-only names like _, __, ___, etc.) will become non-binding in a future version of the Dart language. Any existing code that uses wildcard parameters or variables will break. In anticipation of this change, and to make adoption easier, this lint disallows wildcard and variable parameter uses.

BAD:

dart
var _ = 1;
print(_); // LINT
dart
void f(int __) {
  print(__); // LINT multiple underscores too
}

GOOD:

dart
for (var _ in [1, 2, 3]) count++;
dart
var [a, _, b, _] = [1, 2, 3, 4];

Enable

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - no_wildcard_variable_uses

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

analysis_options.yaml
yaml
linter:
  rules:
    no_wildcard_variable_uses: true