Dart Analyze logoDart Analyze/
DRT-W1677

Unnecessary castDRT-W1677

Major severityMajor
Bug Risk categoryBug Risk

The analyzer produces this diagnostic when the value being cast is already known to be of the type that it's being cast to.

Example

The following code produces this diagnostic because n is already known to be an int as a result of the is test:

void f(num n) {
  if (n is int) {
    (n as int).isEven;
  }
}

Common fixes

Remove the unnecessary cast:

void f(num n) {
  if (n is int) {
    n.isEven;
  }
}