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 {}