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