nullable_type_in_on_clause
Mixin 不能使用可空类型作为超类约束。
描述
#当 mixin 声明使用 on
子句指定超类约束,并且指定的类后面跟着 ?
时,分析器会产生此诊断信息。
指定可空超类约束是无效的,因为这样做没有意义;它不会改变包含 on
子句的 mixin 所依赖的接口。
但是,请注意,使用可空类型作为超类约束的类型实参是有效的,例如 mixin A on B<C?> {}
。
示例
#以下代码会产生此诊断信息,因为 A?
是可空类型,而可空类型不能用于 on
子句。
dart
class C {}
mixin M on C? {}
常见修复方法
#从类型中移除问号
dart
class C {}
mixin M on C {}