type_alias_cannot_reference_itself
Typedefs can't reference themselves directly or recursively via another typedef.
Description
#The analyzer produces this diagnostic when a typedef refers to itself, either directly or indirectly.
Example
#The following code produces this diagnostic because F
depends on itself indirectly through G
:
dart
typedef F = void Function(G);
typedef G = void Function(F);
Common fixes
#Change one or more of the typedefs in the cycle so that none of them refer to themselves:
dart
typedef F = void Function(G);
typedef G = void Function(int);
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.