跳到主内容

超类型展开为类型参数

不能实现一个展开为类型参数的类型别名。

不能混入一个展开为类型参数的类型别名。

不能将一个展开为类型参数的类型别名用作超类约束。

不能将一个展开为类型参数的类型别名用作超类。

描述

#

当一个展开为类型参数的类型别名用在 extends, implements, withon 子句中时,分析器会生成此诊断。

示例

#

以下代码会生成此诊断,因为类型别名 T (它展开为类型参数 S) 被用在了类 Cextends 子句中

dart
typedef T<S> = S;

class C extends T<Object> {}

常见修复方法

#

直接使用类型实参的值

dart
typedef T<S> = S;

class C extends Object {}