メインコンテンツにスキップ

トップ_レベル_サイクル

「{0}」の型は、サイクル「{1}」を通じて自身に依存しているため、推論できません。

説明

#

アナライザーは、トップレベルの変数に型注釈がなく、変数の初期化子が直接的または間接的にその変数に参照している場合に、この診断を生成します。

#

以下のコードは、変数xyがお互いを参照して定義されており、どちらも明示的な型がないため、もう一方の型が推論できないため、この診断を生成します。

dart
var x = y;
var y = x;

一般的な修正

#

2つの変数が互いに参照する必要がない場合は、サイクルを解除してください。

dart
var x = 0;
var y = x;

2つの変数が互いに参照する必要がある場合は、少なくとも一方に明示的な型を与えてください。

dart
int x = y;
var y = x;

ただし、このコードは診断を生成しませんが、サイクル内の変数が参照される前に、少なくとも一方の変数が他の変数に依存しない値に割り当てられない限り、実行時にスタックオーバーフローが発生します。