跳到主內容

超型別展開為型別引數

不能實現一個展開為型別引數的類型別名。

不能混入一個展開為型別引數的類型別名。

不能將一個展開為型別引數的類型別名用作超類約束。

不能將一個展開為型別引數的類型別名用作超類。

描述

#

當一個展開為型別引數的類型別名用在 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 {}