extension_type_implements_itself 진단: 확장 타입이 자기 자신을 implements 할 때
extension_type_implements_itself 진단: 확장 타입이 자기 자신을 implements 할 때
Dart 분석기가 내보내는 진단에는 이름이 있어요. extension_type_implements_itself은 확장 타입(extension type)이 직접 또는 간접적으로 자기 자신을 implements할 때 분석기가 알려주는 컴파일 타임 진단이에요.
본문
설명
분석기는 확장 타입이 자기 자신을 implements하면 이 진단을 만들어요. 이때 직접(directly) 또는 간접(indirectly)적으로 자기 자신을 구현하는 경우가 모두 해당돼요.
다음 코드는 확장 타입 A가 직접 자기 자신을 implements하기 때문에 이 진단이 나와요.
extension type A(int i) implements A {}
다음 코드는 확장 타입 A가 B를 통해 간접적으로 자기 자신을 implements하기 때문에 이 진단이 나와요.
extension type A(int i) implements B {}
extension type B(int i) implements A {}
흔한 해결 방법
순환 고리에 포함된 타입 중 적어도 하나의 implements 절에서 타입을 하나 제거해 순환 고리를 끊으면 돼요.
extension type A(int i) implements B {}
extension type B(int i) {}