ffi_native_must_be_external
Native functions must be declared external.
Description
#The analyzer produces this diagnostic when a function annotated as being @Native
isn't marked as external
.
Example
#The following code produces this diagnostic because the function free
is annotated as being @Native
, but the function isn't marked as external
:
dart
import 'dart:ffi';
@Native<Void Function(Pointer<Void>)>()
void free(Pointer<Void> ptr) {}
Common fixes
#If the function is a native function, then add the modifier external
before the return type:
dart
import 'dart:ffi';
@Native<Void Function(Pointer<Void>)>()
external void free(Pointer<Void> ptr);
Was this page's content helpful?
Thank you for your feedback!
Provide details Thank you for your feedback! Please let us know what we can do to improve.
Provide details Unless stated otherwise, the documentation on this site reflects Dart 3.8.1. Page last updated on 2025-05-08. View source or report an issue.