mixin_application_not_implemented_interface 진단: 필요로 하는 superclass 제약을 구현하지 않았어요
mixin_application_not_implemented_interface 진단: 필요로 하는 superclass 제약을 구현하지 않았어요
분석기가 내보내는 진단에는 이름이 있어요. mixin_application_not_implemented_interface는 superclass 제약(superclass constraint)을 가진 mixin이, 요구된 제약을 구현하지 않는 슈퍼클래스와 함께 mixin application으로 사용될 때 Dart 분석기가 알려주는 컴파일 타임 진단이에요.
본문
설명
분석기는 superclass 제약을 가진 mixin이, 그 요구된 제약을 구현하지 않는 슈퍼클래스와 함께 mixin application을 만들 때 이 진단을 만들어요. mixin이 적용된 클래스가 mixin의 on 조건을 만족하지 못하는 상황이에요.
예시
다음 코드는 mixin M이 적용되는 클래스가 A의 서브클래스여야 한다고 요구하는데, Object는 A의 서브클래스가 아니어서 이 진단이 나와요.
class A {}
mixin M on A {}
class X = Object with M;
흔한 해결 방법
mixin을 꼭 사용해야 한다면, 슈퍼클래스를 superclass 제약과 같거나 그 서브클래스로 바꿔 줘요.
class A {}
mixin M on A {}
class X = A with M;