mixin 수식어가 붙은 mixin 적용 클래스는 mixin을 하나만 가질 수 있어요
mixin 수식어가 붙은 mixin 적용 클래스는 mixin을 하나만 가질 수 있어요
mixin class C = Object with M1, M2;처럼 mixin 수식어가 붙은 mixin 적용 클래스에는 mixin이 한 개만 들어갈 수 있어요. 그런데 두 개 이상을 지정하면 이 진단이 발생해요.
출처: mixin_modifier_mixin_application_class_with_multiple_mixins
본문
설명
mixin 수식어가 붙은 mixin 적용 클래스가 mixin을 둘 이상 가질 때 analyzer가 이 진단을 만들어요. mixin 클래스 적용은 mixin을 단 하나만 가질 수 있기 때문이에요.
예시
mixin 클래스 C가 여러 mixin을 가지고 있어서 진단이 발생해요.
mixin M1 {}
mixin M2 {}
mixin class C = Object with M1, M2;
해결 방법
여러 mixin을 써야 한다면 mixin 적용 클래스에서 mixin 수식어를 빼면 돼요.
mixin M1 {}
mixin M2 {}
class C = Object with M1, M2;
클래스가 mixin 클래스여야 한다면 mixin을 하나만 사용해야 해요.
mixin M1 {}
mixin class C = Object with M1;
더 알아보기
- Dart 3에서 도입된
mixin/class수식어 조합과 mixin 적용 클래스에 대해서는 Dart 언어 문서의 mixin 부분을 참고하세요.