field_ must_ be_ external_ in_ struct
Fields of 'Struct' and 'Union' subclasses must be marked external.
Description
#
The analyzer produces this diagnostic when a field in a subclass of either
Struct or Union isn't marked as being external.
For more information about FFI, see C interop using dart:ffi.
Example
#
The following code produces this diagnostic because the field a isn't
marked as being external:
import 'dart:ffi';
final class C extends Struct {
@Int16()
int a;
}
Common fixes
#Add the required external modifier:
import 'dart:ffi';
final class C extends Struct {
@Int16()
external int a;
}
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Page last updated on 2025-9-1. View source or report an issue.