Dart Analyze logoDart Analyze/
DRT-W1550

A class or mixin can't implement a nullable typeDRT-W1550

Major severityMajor
Bug Risk categoryBug Risk

The analyzer produces this diagnostic when a class or mixin declaration has an implements clause, and an interface is followed by a ?.

It isn't valid to specify a nullable interface because doing so would have no meaning; it wouldn't change the interface being inherited by the class containing the implements clause.

Note, however, that it is valid to use a nullable type as a type argument to the interface, such as class A implements B<C?> {}.

Example

The following code produces this diagnostic because A? is a nullable type, and nullable types can't be used in an implements clause:

class A {}
class B implements A? {}

Common fixes

Remove the question mark from the type:

class A {}
class B implements A {}