Skip to main content

prefer_const_constructors

Learn about the prefer_const_constructors linter rule.

Stable
Fix available

Prefer const with constant constructors.

Details

#

PREFER using const for instantiating constant constructors.

If a constructor can be invoked as const to produce a canonicalized instance, it's preferable to do so.

BAD:

dart
class A {  const A(); }  void accessA() {  A a = new A(); } 

GOOD:

dart
class A {  const A(); }  void accessA() {  A a = const A(); } 

GOOD:

dart
class A {  final int x;   const A(this.x); }  A foo(int x) => new A(x); 

Enable

#

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

analysis_options.yaml
yaml
linter:  rules:  - prefer_const_constructors 

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

analysis_options.yaml
yaml
linter:  rules:  prefer_const_constructors: true