field_in_struct_with_initializer 진단: Struct의 필드에 초기화 값이 있을 때
field_in_struct_with_initializer 진단: Struct의 필드에 초기화 값이 있을 때
Dart 분석기가 내보내는 진단에는 이름이 있어요. field_in_struct_with_initializer는 dart:ffi의 Struct를 상속한 클래스에서 필드에 초기화 값을 붙였을 때 분석기가 알려주는 컴파일 타임 진단이에요. 구조체 필드는 네이티브 메모리 레이아웃에 맞춰야 하므로 초기화 값을 넣을 수 없어요.
본문
설명
분석기는 Struct의 하위 클래스에 있는 필드가 초기화 값을 가질 때 이 진단을 만들어요. FFI에 대한 자세한 내용은 C interop using dart:ffi를 참고해요.
예시
아래 코드는 필드 p에 초기화 값이 있어서 이 진단을 만들어요.
import 'dart:ffi';
final class C extends Struct {
Pointer p = nullptr;
}
흔한 해결 방법
초기화 값을 제거해요.
import 'dart:ffi';
final class C extends Struct {
Pointer p;
}