nullable_ type_ in_ extends_ clause
A class can't extend a nullable type.
Description
#
The analyzer produces this diagnostic when a class declaration uses an
extends
clause to specify a superclass, and the superclass is followed by
a
?
.
It isn't valid to specify a nullable superclass because doing so would have
no meaning; it wouldn't change either the interface or implementation being
inherited by the class containing the
extends
clause.
Note, however, that it
is
valid to use a nullable type as a type argument
to the superclass, such as
class A extends B<C?> {}
.
Example
#
The following code produces this diagnostic because
A?
is a nullable
type, and nullable types can't be used in an
extends
clause:
class A {}
class B extends A? {}
Common fixes
#Remove the question mark from the type:
class A {}
class B extends A {}
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Page last updated on 2025-9-1. View source or report an issue.