Skip to main content

unnecessary_const_in_enum_constructor

Learn about the unnecessary_const_in_enum_constructor linter rule.

Unreleased
Fix available
Released in Dart 3.13

Don't use an explicit const in a generative enum constructor.

Details

#

Don't use an explicit const in a generative enum constructor. Generative enum constructors are implicitly const.

BAD:

dart
enum const E(final int i) {
  a(1), b(2);
}
dart
enum E {
  a(1), b(2);

  const E(this.i);

  final int i;
}

GOOD:

dart
enum E(final int i) {
  a(1), b(2);
}
dart
enum E {
  a(1), b(2);

  E(this.i);

  final int i;
}

Enable

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - unnecessary_const_in_enum_constructor

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

analysis_options.yaml
yaml
linter:
  rules:
    unnecessary_const_in_enum_constructor: true