跳到主要内容

subtype_of_disallowed_type

'{0}' 不能用作超类约束。

类和 mixin 不能实现 '{0}'。

类不能扩展 '{0}'。

类不能 mixin '{0}'。

描述

#

当在 extendsimplementswithon 子句中使用受限类时,分析器会生成此诊断。类 booldoubleFutureOrintNullnumString 都受到此限制,以实现更高效的实现。

示例

#

以下代码生成此诊断,因为在 extends 子句中使用了 String

dart
class A extends String {}

以下代码生成此诊断,因为在 implements 子句中使用了 String

dart
class B implements String {}

以下代码生成此诊断,因为在 with 子句中使用了 String

dart
class C with String {}

以下代码生成此诊断,因为在 on 子句中使用了 String

dart
mixin M on String {}

常见修复

#

如果应该指定不同的类型,则替换该类型

dart
class A extends Object {}

如果没有合适的其他类型,则移除该类型,并可能移除整个子句

dart
class B {}