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
:
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:
typedef F = void Function(G);
typedef G = void Function(int);
Unless stated otherwise, the documentation on this site reflects Dart 3.9.2. Page last updated on 2025-9-4. View source or report an issue.