メインコンテンツにスキップ

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

一般的な修正

#

サイクルに関与している型のうち、少なくとも1つの型で `implements` 句から型を削除してサイクルを断ち切ってください。

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

extension type B(int i) {}