mixin_application_not_implemented_interface 진단: 필요로 하는 superclass 제약을 구현하지 않았어요

mixin_application_not_implemented_interface 진단: 필요로 하는 superclass 제약을 구현하지 않았어요

분석기가 내보내는 진단에는 이름이 있어요. mixin_application_not_implemented_interfacesuperclass 제약(superclass constraint)을 가진 mixin이, 요구된 제약을 구현하지 않는 슈퍼클래스와 함께 mixin application으로 사용될 때 Dart 분석기가 알려주는 컴파일 타임 진단이에요.

출처: mixin_application_not_implemented_interface

본문

설명

분석기는 superclass 제약을 가진 mixin이, 그 요구된 제약을 구현하지 않는 슈퍼클래스와 함께 mixin application을 만들 때 이 진단을 만들어요. mixin이 적용된 클래스가 mixin의 on 조건을 만족하지 못하는 상황이에요.

예시

다음 코드는 mixin M이 적용되는 클래스가 A의 서브클래스여야 한다고 요구하는데, ObjectA의 서브클래스가 아니어서 이 진단이 나와요.

class A {}

mixin M on A {}

class X = Object with M;

흔한 해결 방법

mixin을 꼭 사용해야 한다면, 슈퍼클래스를 superclass 제약과 같거나 그 서브클래스로 바꿔 줘요.

class A {}

mixin M on A {}

class X = A with M;

더 알아보기