跳到主要内容

extension_type_implements_itself

扩展类型不能实现自身。

描述

#

当扩展类型直接或间接实现自身时,分析器会产生此诊断信息。

示例

#

以下代码会产生此诊断信息,因为扩展类型 A 直接实现了自身

dart
extension type A(int i) implements A {}

以下代码会产生此诊断信息,因为扩展类型 A 间接实现了自身(通过 B

dart
extension type A(int i) implements B {}

extension type B(int i) implements A {}

常见修复方法

#

通过从循环中至少一个类型中的 implements 子句中移除一个类型来打破循环

dart
extension type A(int i) implements B {}

extension type B(int i) {}