Dart Analyze logoDart Analyze/
DRT-W1512

The default value of an optional parameter must be constantDRT-W1512

Major severityMajor
Bug Risk categoryBug Risk

The analyzer produces this diagnostic when an optional parameter, either named or positional, has a default value that isn't a compile-time constant.

Example

The following code produces this diagnostic:

var defaultValue = 3;

void f([int value = defaultValue]) {}

Common fixes

If the default value can be converted to be a constant, then convert it:

const defaultValue = 3;

void f([int value = defaultValue]) {}

If the default value needs to change over time, then apply the default value inside the function:

var defaultValue = 3;

void f([int value]) {
  value ??= defaultValue;
}