generic_struct_subclass 진단: 제네릭 Struct/Union 서브클래스는 만들 수 없어요
generic_struct_subclass 진단: 제네릭 Struct/Union 서브클래스는 만들 수 없어요
Dart 분석기가 내보내는 진단에는 이름이 있어요. generic_struct_subclass는 Struct나 Union을 상속하는 클래스에 타입 매개변수가 있을 때 분석기가 알려주는 컴파일 타임 진단이에요. FFI에서 메모리 레이아웃을 다루는 Struct와 Union은 제네릭이 될 수 없기 때문에 이렇게 쓰면 문제가 돼요.
본문
설명
분석기는 Struct나 Union 중 하나를 상속하는 서브클래스가 타입 매개변수를 가질 때 이 진단을 만들어요.
FFI에 대한 자세한 내용은 C interop using dart:ffi 문서를 참고해요.
예시
다음 코드는 클래스 S가 타입 매개변수 T를 정의하고 있기 때문에 이 진단이 발생해요:
import 'dart:ffi';
final class S<T> extends Struct {
external Pointer notEmpty;
}
일반적인 수정 방법
클래스에서 타입 매개변수를 제거해요:
import 'dart:ffi';
final class S extends Struct {
external Pointer notEmpty;
}