Dart Analyze logoDart Analyze/
DRT-W1442

Invalid use of `covariant` in extensionDRT-W1442

Major severityMajor
Bug Risk categoryBug Risk

The analyzer produces this diagnostic when a member declared inside an extension uses the keyword covariant in the declaration of a parameter. Extensions aren't classes and don't have subclasses, so the keyword serves no purpose.

Example

The following code produces this diagnostic because i is marked as being covariant:

extension E on String {
  void a(covariant int i) {}
}

Common fixes

Remove the covariant keyword:

extension E on String {
  void a(int i) {}
}