跳到主要內容

extension_type_representation_depends_on_itself

擴充套件型別的表示不能依賴於自身。

描述

#

當擴充套件型別的表示型別直接或間接依賴於擴充套件型別本身時,分析器會產生此診斷。

示例

#

以下程式碼會產生此診斷,因為擴充套件型別 A 的表示型別直接依賴於 A

dart
extension type A(A a) {}

以下兩個程式碼示例會產生此診斷,因為擴充套件型別 A 的表示型別透過擴充套件型別 B 間接依賴於 A

dart
extension type A(B b) {}

extension type B(A a) {}
dart
extension type A(List<B> b) {}

extension type B(List<A> a) {}

常見修復方法

#

透過為迴圈中至少一個型別選擇不同的表示型別來移除依賴關係

dart
extension type A(String s) {}