top_ level_ cycle
Detalhes sobre o diagnóstico 'top_level_cycle' produzido pelo analisador do Dart.
The type of '{0}' can't be inferred because it depends on itself through the cycle: {1}.
Descrição
#O analisador produz este diagnóstico quando uma variável de nível superior não tem anotação de tipo e o inicializador da variável se refere à própria variável, direta ou indiretamente.
Exemplo
#
O código a seguir produz este diagnóstico porque as variáveis x e y são definidas em termos uma da outra, e nenhuma tem tipo explícito, então o tipo de uma não pode ser inferido a partir da outra:
var x = y;
var y = x;
Correções comuns
#Se as duas variáveis não precisam se referir uma à outra, então quebre o ciclo:
var x = 0;
var y = x;
Se as duas variáveis precisam se referir uma à outra, então dê a pelo menos uma delas um tipo explícito:
int x = y;
var y = x;
Observe, porém, que, embora este código não produza nenhum diagnóstico, ele causará um estouro de pilha (stack overflow) em tempo de execução, a menos que pelo menos uma das variáveis receba um valor que não dependa das outras variáveis antes de qualquer uma das variáveis no ciclo ser referenciada.
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.