generic_struct_subclass
The class '{0}' can't extend 'Struct' or 'Union' because '{0}' is generic.
Description
#The analyzer produces this diagnostic when a subclass of either Struct
or Union
has a type parameter.
For more information about FFI, see C interop using dart:ffi.
Example
#The following code produces this diagnostic because the class S
defines the type parameter T
:
dart
import 'dart:ffi';
final class S<T> extends Struct {
external Pointer notEmpty;
}
Common fixes
#Remove the type parameters from the class:
dart
import 'dart:ffi';
final class S extends Struct {
external Pointer notEmpty;
}
Unless stated otherwise, the documentation on this site reflects Dart 3.7.3. Page last updated on 2025-05-08. View source or report an issue.