with 절에는 mixin과 클래스만 쓸 수 있어요

with 절에는 mixin과 클래스만 쓸 수 있어요

class C with F {}처럼 with 절에 들어가는 이름은 mixin이나 클래스여야 해요. 그런데 함수 타입 같은 다른 종류의 타입이 들어가면 이 진단이 발생해요.

출처: mixin_of_non_class

본문

설명

with 절에 있는 이름이 mixin이나 클래스가 아닌 다른 것으로 정의되어 있을 때 analyzer가 이 진단을 만들어요.

예시

F가 함수 타입으로 정의되어 있어서 진단이 발생해요.

typedef F = int Function(String);

class C with F {}

해결 방법

잘못된 이름을 목록에서 빼고, 필요한 경우 원래 사용하려던 mixin이나 클래스의 이름으로 바꿔 넣으면 돼요.

typedef F = int Function(String);

class C {}

더 알아보기